我想知道是否有人可以帮助此MySQL查询。发现不容易找到答案,因为不知道这是哪种查询。
这是所需的输出表:
ID Capital1 Capital2 Capital3
Maps1 Paris London Rome
这是Maps表
ID Country1 Country2 Country3
Map1 France UK Italy
这是国家表
*Country* *Capital*
France Paris
UK London
Italy Rome
Spain Madrid
Greece Athens
提前致谢
最佳答案
用不同的别名将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
表中。