有三张桌子 表:洲
Continent Id
Asia 1
Europ 2
North America 3
表:各
Nation Id
China 1
Korea 2
France 3
UK 4
US 5
Canada 6
表:Continents_Nations
Continent_id Nation_id
1 1
1 2
2 3
2 4
3 5
3 6
如何取出以下结果?
Continent Nation
Asia China
Asia Korea
Europe France
Europe UK
North America US
North America Canada
我试过SQL:
SELECT *
FROM `C`
JOIN `C_N` ON `id`=`C_N`.`C_id`
JOIN `N` ON `C_N`.`N_id`=`N`.`id`
但这并没有表现出我的期望。
我还希望加入更多像“城市”这样的表格与“国家”
我尝试了上面的例子,结果证明...... 这个例子是我的案例的简要版本,我再次检查,发现我的数据不正确,所以它没有成功。 但SQL子句没有问题 感谢您的回答
答案 0 :(得分:0)
SELECT
Continents.Continent,
Nations.Nation
FROM
Continents_Nations
INNER JOIN
Continents
ON
Continents.Id=Continents_Nations.Continent_id
INNER JOIN
Nations
ON
Nations.Id=Continents_Nations.Nation_id
要将更多像“城市”这样的表加入“国家”,请使用相同的方法:通过主键连接 - >外键。
答案 1 :(得分:0)
SELECT C.Continent, N.Nation
FROM Continents_Nations AS CN
JOIN Nations AS N ON(N.Id = CN.Nation_id )
JOIN Continents AS C ON(C.Id = CN.Continent_id )
ORDER BY C.Continent ASC, N.Nation ASC