2017-10-15 16 views
0

Je travaille avec des données sur plusieurs tables et j'essaye d'obtenir quelques informations mais je continue à obtenir des données de répétition.comment arrêter INNER JOIN de montrer des données de répétition

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'; 

Ce que je suis en train de faire est d'obtenir la ville nommer le transporteur et un certain nombre de passagers, mais il semble que la sortie ne cesse de répéter les données. Par exemple, je vais obtenir:

enter image description here

Comme vous pouvez le voir les données se répète quelques centaines de fois est-il un moyen de résoudre ce problème?

+1

Êtes-vous à la recherche de ** Distinct **? – L30n1d45

+0

Lorsque vous créez des jointures internes à l'aide de colonnes non-primaryKey, il est possible que vous obteniez des données en double. Par exemple: il peut y avoir plusieurs enregistrements dans la table TravelInfo avec le même desitination_airport_id, ou il peut y avoir plusieurs enregistrements dans la table Flights avec le même destination_airport_id. Si vous pouvez récupérer des exemples de données pour chaque table en fonction de "CarrierInfo.passengers = 7713" et les afficher ici, nous pouvons avoir une meilleure idée de ce que nous traitons. –

+0

Salut. S'il vous plaît expliquez clairement "obtenir des données de répétition", et pourquoi c'est un problème ici - pourquoi est-ce que * ce * sortie n'est pas ce que vous voulez - c.-à-d. Nous dire ce que votre requête est supposée faire. Vous ne dites pas clairement comment "nombre de passagers" dans une rangée se rapporte à son "nom de ville" et "le transporteur". S'il vous plaît lire et agir sur [mcve]. [Veuillez utiliser le texte si vous le pouvez. Comme à la place de cette image.] (Https://stackoverflow.com/questions/14588304/composite-key-primary-vs-additional-id-column). – philipxy

Répondre

0

Vous pouvez résumer les passagers pour la ville et la destination. Mais je crois que ce serait plus de signaler le nombre de passagers parce que je vois des doublons dans votre sortie. Donc, quelque part dans vos jointures, vous dupliquez des données.