문제

주어진 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
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top