我想知道是否有人可以帮助这个MySQL查询。发现很难找到答案,因为我不知道这是什么类型的查询。
这是所需的输出表:
ID Capital1 Capital2 Capital3
Maps1 Paris London Rome
这是地图表
ID Country1 Country2 Country3
Map1 France UK Italy
这是国家表
*Country* *Capital*
France Paris
UK London
Italy Rome
Spain Madrid
Greece Athens
提前致谢
答案 0 :(得分:2)
使用不同的别名
加入country
表3次
select m.id,
c1.capital as capital1,
c2.capital as capital2,
c3.capital as capital3
from maps m
left join country c1 on c1.country = m.country1
left join country c2 on c2.country = m.country2
left join country c3 on c3.country = m.country3
顺便说一下,您实际上应该规范您的桌面设计,并且不要将这些国家/地区存储在maps
表中。