首页 > 解决方案 > LEFT JOIN 用于两个不同的值

问题描述

tab_city

 id_city   city
  1       Paris
  2       Texas
  3       Toquio

tab_control

id_control origin  destination
 1             1           3

对于以前的表格,我需要从 tab_control 获取数据,并从 tab_city 获取相应的城市。

如果它只是起源很简单:

SELECT origin.tco, city.tci
FROM tab_control tco
LEFT JOIN tab_city tci ON tco.origin = tci.id_city

返回

origin = 1
city = Paris

但是,我需要得到

origin = 1
city = Paris
destination = 3
city_destination?? = Toquio

标签: mysql

解决方案


你需要另一个JOIN目的地

SELECT tco.origin, tci.city, tco.destination, d.city
FROM tab_control tco
LEFT JOIN tab_city tci ON tco.origin = tci.id_city
LEFT JOIN tab_city d ON tco.destination = d.id_city

推荐阅读