mysql查询多个外键

标签 mysql database rdbms

mysql表如下


    +------------+----------------+----------------+
    | booking_id | boarding_point | dropping_point |
    +------------+----------------+----------------+
    |          1 |              2 |              4 |
    |          2 |              1 |              2 |
    +------------+----------------+----------------+


    +-------------+---------------+
    | location_id | location_name |
    +-------------+---------------+
    |           1 | chennai       |
    |           2 | coimbatore    |
    |           3 | tiruppur      |
    |           4 | erode         |
    |           5 | salem         |
    +-------------+---------------+

boarding_point 和 Droping_point 是 location_id 的外键。 现在我希望选择查询显示为


    +------------+----------------+----------------+
    | booking_id | boarding_point | dropping_point |
    +------------+----------------+----------------+
    |          1 |     coimbatore |          erode |
    |          2 |        chennai |     coimbatore |
    +------------+----------------+----------------+

任何人都可以建议我像上面一样显示查询。

最佳答案

将预订表两次加入位置表:

SELECT
    b.booking_id,
    t1.location_name,
    t2.location_name
FROM booking b
INNER JOIN location t1
    ON b.boarding_point = t1.location_id
INNER JOIN location t2
    ON b.dropping_point = t2.location_id;

enter image description here

Demo

关于mysql查询多个外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52148135/

相关文章:

mysql - 如何修复 where 子句

MySQL GROUP BY 不带聚合而不是 LIMIT

php - Laravel 外键约束格式不正确 我已经搜索但找不到答案

c# - 创建多个对象单个 LINQ EF 方法

当选择区域时,PHP 从数据库填充数据

hadoop - 如何使用Sqoop仅导入新数据?

mysql - Hive - 标准化 Hive 中传入日期字段的方法?

MySQL Group By每种类型的前N个数

database - docker-compose:将变量传递给 tomcat 上下文

c# - 通过 .NET 提高 RDBMS (SQL) 事件溯源投影的性能