mysql - 将县链接到具有文档的唯一位置的正确 mysql 语句

标签 mysql inner-join

我的数据库中有 3 个表。

1 个位置(location_id、county_id、名称)

2 个县(county_id、名称)

3 个文档(文档 ID、文档类型、位置 ID、标题、文本)

我的sql语句:

SELECT d.document_id, d.title, l.name AS location_name

FROM  document d 
  INNER JOIN location l ON d.location_id=l.location_id
WHERE d.document_type = 1 AND d.title LIKE '%foo%'

我需要文档title and id ,位置name and location_id 、县name and county_id待退回。

问题是如何仅选择此结果中我拥有的位置的县名称和county_id,而不是位置表中的所有位置。

如果我再做一次INNER JOIN county c ON l.county_id=c.county_id ,那么查询会花费很长时间,并为所有位置添加县(表中有 13.000 个位置)。

最佳答案

从国家/地区中选择*,其中country_id位于( 选择国家ID

来自文档 d INNER JOIN 位置 l ON d.location_id=l.location_id WHERE d.document_type = 1 AND d.title LIKE '%foo%')

关于mysql - 将县链接到具有文档的唯一位置的正确 mysql 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40835341/

相关文章:

mysql - 使用 Case 和 Group By 按特定顺序获取分组结果

Mysql - 如何在左连接中为整个表添加别名

MySQL:如何将字符转换为日期?

mysql - 使用 And 语句进行多重连接不起作用

C# - 从 SQL 到 Linq - 左外连接/内连接

sql - 在 INNER JOIN SQL 查询中使用 GROUP BY 和 ORDER BY

c# - 连接所需的 HQL 路径(连接同一个表时)

mysql - 使用 MySQL 的产品功能选择器

mysql - group by 子句不分组

Java JDBC Web MySql 通信