2011-02-24 4 views
1

多角形を含むテーブルと複数行を含むテーブルがあります。そのように与えられた複数行のために、私は、ちょうど交差するポリゴンを取得することができます。複数のポリゴンを交差する複数行については、それぞれの長さを取得します。

SELECT p.geo, p.id 
FROM polygons p, lines l 
WHERE p.geo.STIntersects(l.geo) = 1 AND l.id = @lineID 

もライン自体を取得するには、私が追加:

UNION ALL 
SELECT l.geo, l.id 
FROM lines l 
WHERE l.id = @lineID 

しかし、私はそれぞれの長さを取得するにはどうすればよいです、 3番目の列として、指定されたポリゴンと交差する線の部分の?

答えて

0

本当に簡単である必要があります。

SELECT p.geo, p.id, p.geo.STIntersection(l.geo).STLength() 
FROM polygons p, lines l 
WHERE p.geo.STIntersects(l.geo) = 1 AND l.id = @lineID 
関連する問題