我在这两个表中使用了两个表,旅行ID很常见
1.使用trip_flight_id在where条件下结合两个基于trip_id的表。
下面我已经解释了表格的详细信息
table: details
trip_flight_id trip_id(f.k)
2178 2054
2179 2054
table: booking_details
booking_id trip_id
1 2054
2 2054
I need a result based on trip_flight_id
if(trip_flight_id=2178)
booking_id trip_id trip_flight_id
1 2054 2178
if(trip_flight_id=2179)
booking_id trip_id trip_flight_id
1 2054 2179
I tried the below query but not shows the exact result
SELECT * FROM
`details` tbd inner join
`booking_details` tfd on tfd.trip_id=tbd.trip_id
where tfd.trip_flight_id=2179
请帮我
最佳答案
看起来您要实现的目标无法通过当前架构实现。使用booking_id
作为details
表中的外键而不是trip_id
时,应使用这种方式,当您使用此查询时
SELECT b.booking_id, b.trip_id, a.trip_flight_id
FROM
details a
INNER JOIN booking_details b ON a.booking_id = b.booking_id
WHERE
a.trip_flight_id= 2179
你得到这个结果
+------------+---------+----------------+
| booking_id | trip_id | trip_flight_id |
+------------+---------+----------------+
| 2 | 2054 | 2179 |
+------------+---------+----------------+
1 row in set (0.00 sec)