mysql - SQL:获取 parent Join child where child type = 1 AND child type = 2

标签 mysql sql join

我对 SQL(MySQL 环境)有疑问。我有两个表:

Airports
--------------------
id    type   city_id
1     2      1
2     3      1
3     4      2


City
----------
id    name
1     Paris
2     Lyon

我想要机场类型为 2 和 3 的城市。

我试过了:

SELECT *
FROM city c INNER JOIN airports a ON a.city_id = c.id
WHERE a.type = 1 AND a.type = 2

但它不起作用。

有什么想法吗?

最佳答案

如果您需要同时存在 1 类和 2 类机场的城市,请尝试使用此查询:

SELECT * FROM CITY
JOIN
  (
     SELECT CITY_ID FROM Airports WHERE type in (1,2)
     GROUP BY CITY_ID
     HAVING COUNT(DISTINCT type) =2
   ) as A
  ON City.ID=a.City_id

关于mysql - SQL:获取 parent Join child where child type = 1 AND child type = 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24008607/

相关文章:

sql - 一个表中的每一行的 PostgreSQL 连接另一个表中的所有行

mysql - 如何使用 funcool/clojure.jdbc 从 MySQL 查询中获取区分大小写的列名

php - 您的 SQL 语法 PHP MySQL 有错误

mysql - 如何从大的句子中明确列出单词

mysql - 需要加入3张表。需要按 DateTime 字段排序并限制为 1

mysql - 如何查询没有起始日期和结束日期的历史价格?

MySQL 查询给出无效结果

mysql - Rails 3 - 从 3 个表中选择数据

MySQL:连接,使用的 SELECT 语句具有不同的列数

mysql - 列出数据表中的多个文件进行下载