我有以下数据库结构
table_countries
----------
country_id
country_name
table_cities
----------
city_id
country_id
city_name
table_streets
----------
street_id
city_id
street_name
table_people
----------
person_id
street_id
person_name
有多个国家/地区,可以有多个城市,又有多个街道,依此类推。
我希望执行查询,以获取其中有1个或多个人员的所有国家/地区的列表。
问题是国家表未直接链接到人表。LEFT JOIN返回同一国家的多行。
对于您的编辑中提到的预期结果,我将左侧联接更改为内部联接,并仅选择带有group by子句的国家/地区名称。注意on子句中的外键名称,我认为您必须澄清/更正表结构:
SELECT
table1.country
FROM
table1 JOIN table2 ON table1.id = table2.table1_id
JOIN table3 ON table2.id = table3.table2_id
JOIN table4 ON table3.id = table4.table3_id
GROUP BY
table1.country
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句