SQL 2008 에서이 공간 쿼리를 어떻게 할 수 있습니까?
-
20-08-2019 - |
문제
주어진 POI 목록 (관심 지점, Long/Lat GEOGRAPHY
데이터), 어떤 우편 번호가 존재하는지 (multipolygon GEOGRAPHY
데이터).
그래서 이것은 내가 시도한 쿼리이지만 구문 적으로 틀 렸습니다.
SELECT PostCodeId, ShapeFile
FROM Postcodes a
WHERE a.ShapeFile.STIntersects(
SELECT PointOfInterest
FROM PointOfInterests
WHERE PointOfInterestId IN (SELECT Item from dbo.fnSplit(@PoiIdList, ','))
그래서 이것은 내가 a를 통과한다는 것을 의미합니다 POI ID의 CSV 목록 및 분할. 그건 문제가 아니에요 .. STIntersects
. 그것은 무효입니다.
그래서 .. 어떤 제안이 있습니까?
해결책
어때요 :
SELECT a.PostCodeId, a.ShapeFile
FROM (SELECT Item from dbo.fnSplit(@PoiIdList, ',')) AS POI_IDs
INNER JOIN PointOfInterests
ON PointOfInterests.PointOfInterestId = POI_IDs.Item
INNER JOIN Postcodes a
ON a.ShapeFile.STIntersects(PointOfInterests.PointOfInterest) = 1
제휴하지 않습니다 StackOverflow