我想用一个公共id连接3个表,但是我不断得到重复的行,如下所示。
我希望每行每种类型只有一个值。例如,flight,“oneway\u flight”、“roundout\u flight”或“roundin\u flight”应该只有一个值,其余两列应该为null。
下面是所需的输出示例
下面是我在sql中的查询
SELECT o."flight" AS "oneway_flight",
"ro"."flight" AS "roundout_flight",
"ri"."flight" AS "roundin_flight",
o.departure_time AS "oneway_departure_time",
ro.departure_time AS "roundout_departure_time",
ri.departure_time AS "roundin_departure_time",
o.arrival_time AS "oneway_arrival_time",
ro.arrival_time AS "roundout_arrival_time",
ri.arrival_time AS "roundin_arrival_time"
FROM "dbo"."data" "d"
LEFT JOIN "dbo"."ONEWAY_OUTBOUND" "o" ON d.product_id = o.product_id
LEFT JOIN "dbo"."ROUNDTRIP_OUTBOUND" "ro" ON d.product_id = ro.product_id
LEFT JOIN "dbo"."ROUNDTRIP_INBOUND" "ri" ON d.product_id = ri.product_id
WHERE d.product_id = 'TXXXXXXX'
请让我知道如何修改上面的查询以获得所需的输出(如第二个屏幕截图所示)。
如果有什么不清楚的请告诉我。
感谢你的帮助!
1条答案
按热度按时间mutmk8jj1#
您需要三个独立的查询,连接在一起。