3

我正在尝试在 sql 2008 中进行空间查询-> 对于给定的 POI 列表(兴趣点、长/纬度GEOGRAPHY数据),它们存在于哪些邮政编码中(多面GEOGRAPHY数据)。

所以这是我尝试过的查询,但它在语法上不正确:-

SELECT PostCodeId, ShapeFile
FROM Postcodes a
WHERE a.ShapeFile.STIntersects(
    SELECT PointOfInterest
    FROM PointOfInterests
    WHERE PointOfInterestId IN (SELECT Item from dbo.fnSplit(@PoiIdList, ','))

所以这意味着我传入一个POI Id 的 csv 列表并拆分它们。这不是问题..这是我在STIntersects. 那是无效的。

所以..有什么建议吗?

4

1 回答 1

4

怎么样:

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
于 2009-01-31T12:44:17.323 回答