我有区域表,其中包含 RegionID 和坐标。
区域表: 区域ID 区域多边形坐标
我有 ListingRegion 表,其中包含 RegionListingID、ListingID 和 REgionID,这是多对多表。
ListingRegion 表: 地区列表ID 区域ID 列表ID
首先,我需要按位置读取 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')))))
上面的查询不起作用。如有任何帮助,我们将不胜感激。
最佳答案
这是我的错误。
正确的语法如下:
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'))))
关于mysql - 我怎样才能使用 IN close 两次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53243678/