mysql - 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
解决方案
你需要另一个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
推荐阅读
- android-9.0-pie - env(safe-area-inset-top) 在 Android Pie + WebView 69 上不起作用
- mysql - MYSQL 从组中获取总数
- apostrophe-cms - TypeError:无法读取未定义的属性“位图”(ApostropheCMS)
- xamarin.forms - 在 xamarin 表单中异步加载数据的正确方法
- c++ - c++中0-x和-x的区别
- apache-kafka - 卡夫卡流:java.nio.file.DirectoryNotEmptyException
- java - 在 Intellij 和 Kotlin 中找不到 Log4j2 配置
- c++ - 这个 bst 代码有什么问题?当我输入第一个节点的数据时,它给了我错误并且不会继续
- list - 如何从博客的标签/类别列表中删除点?
- java - 如何修改 ArrayList 中与其他对象具有相似值的对象值