У меня есть одна таблица, содержащая многоугольники, а другая - мультилинии. Для данной мультилинии я могу получить только пересекающиеся многоугольники, например:
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
Как, однако, я могу получить соответствующую длину части линии, которая пересекает данный многоугольник, в качестве третьего столбца?