2011-02-24 2 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 
관련 문제