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;
Demo
关于mysql查询多个外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52148135/