我如何在close中使用两次?

csga3l58  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(301)

我有regionid和cordinate的region表。
region表:regionid regionpolygoncordinates
我有一个listingregion表,它有regionlistingid、listingid和regionid,regionid是多对多表。
listingregion表:regionlistingid regionid 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')))))

上述查询不起作用。感谢您的帮助。

6qfn3psc

6qfn3psc1#

是我的错。
正确的语法如下:

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'))))

相关问题