2011-02-24 29 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 

如何,不過,我會得到相應的長度與給定多邊形相交的線的部分,作爲第三列?

回答

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 
相關問題