我想知道是否有人可以帮助此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表中。

09-11 19:54
查看更多