我有一个包含RegionID和坐标的区域表。
区域表: 区域编号 RegionPolygonCordinates
我有ListingRegion表,其中具有RegionListingID,ListingID和REgionID,这是多对多表。
ListingRegion表: RegionListingID 区域编号 ListingID
首先,我需要按位置读取RegionID。 这样做如下:
SELECT REGION_ID FROM region WHERE CONTAINS(REGION_POLYGON, point('45.512573', '-122.661276')
然后我需要获取每个RegionID的ListingID。
SELECT listings.* FROM listing_region,listings
WHERE listings.LISTING_ID IN (SELECT listing_region.LIST_REGION_LISTING_ID IN (SELECT listing_region.LIST_REGION_REGION_ID IN (SELECT REGION_ID FROM region WHERE CONTAINS(REGION_POLYGON, point('45.512573', '-122.661276')))))
以上查询无效。任何帮助表示赞赏。
答案 0 :(得分:0)
这是我的错误。
正确的语法如下:
SELECT listings.* FROM listings
WHERE listings.LISTING_ID IN(SELECT listing_region.LIST_REGION_LISTING_ID FROM listing_region WHERE listing_region.LIST_REGION_REGION_ID IN (SELECT REGION_ID FROM region WHERE CONTAINS(REGION_POLYGON, point('45.512573', '-122.661276'))))