【发布时间】:2017-10-15 20:42:05
【问题描述】:
我正在处理多个表上的数据,我正在尝试获取一些信息,但我不断收到重复数据。
SELECT Airport.city, StateInfo.state_name, TravelInfo.destination,
Carrier.unique_carrier_name, CarrierInfo.passengers
FROM Airport
INNER JOIN TravelInfo
ON Airport.airport_id = TravelInfo.destination_airport_id
INNER JOIN Flights
ON Airport.airport_id = Flights.destination_airport_id
INNER JOIN StateInfo
ON Airport.airport_id = StateInfo.airport_id
INNER JOIN Carrier
ON Flights.airline_id = Carrier.airline_id
INNER JOIN CarrierInfo
ON Carrier.airline_id = CarrierInfo.airline_id
WHERE Airport.state = 'CO';
我想要做的是获取城市名称承运人和一些乘客,但似乎输出不断重复数据。 例如我会得到:
如您所见,数据重复了几百次,有没有办法解决这个问题?
【问题讨论】:
-
您在寻找 Distinct 吗?
-
当您使用非主键列进行内联表时,您可能会得到重复的查询数据。例如:TravelInfo 表中可能有多条记录具有相同的destination_airport_id,或者Flights 表中可能有多条记录具有相同的destination_airport_id。如果您可以根据“CarrierInfo.passengers=7713”为每个表检索一些示例数据并将其发布在此处,我们可能会更好地了解我们正在处理的内容。
-
嗨。请清楚地解释“获取重复数据”,以及为什么这是一个问题——为什么 that 输出不是你想要的——即告诉我们你的查询应该做什么。您没有清楚地说明连续“乘客人数”与其“城市名称”和“承运人”的关系。请阅读minimal reproducible example 并采取行动。 Please use text if you can. Like instead of that image..
标签: sql postgresql select join inner-join