mysql - 我怎样才能使用 IN close 两次?

标签 mysql select where-clause

我有区域表,其中包含 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/

相关文章:

c 中带有 select 的并发服务器 TCP

javascript - 在 q-select quasar 中使选择选项更大

mysql - 多列数据

mysql - Mysql 中的嵌套游标

javascript - 无法让 Alexa 技能说出 MySQL 查询结果

mysql - 如何仅当单独表中的 SUM(字段) > 0 时才使用 MAX 来选择记录来识别最新的 'field'

do block 内的Haskell where子句语法

php - IN 查询搜索什么?

mysql - sql子查询解释

php - 部署独立的 PHP/MySQL 应用程序