我在这两个表中使用了两个表,旅行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)

10-06 03:10