7
votes

Sélectionnez les données de trois tables?

Comment puis-je écrire une instruction SQL pour sélectionner les données de trois tables?


3 commentaires

Le principe général est d'utiliser des jointures. Donnez-nous des détails supplémentaires sur les structures et les relations de table et nous pouvons vous familiariser une réponse pour vous.


Fournir plus d'informations


Veuillez consulter le FAQ . Je vous suggère également de lire Ce blog post pour des conseils sur la façon de poser de meilleures questions.


6 Réponses :


7
votes

Voici un exemple très général:

SELECT A.KEYVAL, A.OTHER_COL, B.ANOTHER_COL, C.YET_ANOTHER_COL
  FROM TABLE_A,
       TABLE_B,
       TABLE_C
  WHERE B.KEYVAL = A.KEYVAL AND
        C.KEYVAL = A.KEYVAL


3 commentaires

+1 pour utiliser les jointures ANSI standard (jointure intérieure, etc.)! Si vous utilisez des alias de table dans votre liste de colonnes, vous devez définir ces alias de table dans votre jointure et votre jointure intérieure!


Notez que le en utilisant la syntaxe pour les jointures n'est pas universel sur toutes les plateformes SDBMS.


@Joe: J'ai ajouté une alternative qui utilise des clauses. Merci.



1
votes

Regardez le Joindre (SQL) Clause.

Vous pouvez rejoindre votre première table avec votre seconde. Ensuite, votre troisième table à votre première ou deuxième table.

ex: xxx


0 commentaires

19
votes

Utilisez une jointure

SELECT *
FROM table_1
JOIN table_2 ON (table_2.table_1_id = table_1.table_1_id)
JOIN table_3 ON (table_3.table_1_id = table_1.table_1_id)


0 commentaires

2
votes

Si vos tables ont le même schéma et que vous souhaitez concaténer essentiellement les lignes de chaque table, vous devez penser à une requête code> Union code>.

SELECT Table1.Field1, Table2.Field2, Table3.Field3
FROM Table1
INNER JOIN Table2 ON Table1.Field1=Table2.Field1
LEFT OUTER JOIN Table3 on Table1.Field3=Table3.Field3


0 commentaires

0
votes

Utilisation de la jointure Vous pouvez sélectionner des données à partir de trois tables xxx


0 commentaires

-3
votes

Sélectionnez les données de trois table comme des jointures à l'état de pays et de la ville

Sélectionnez Pays.Country, Country.CountryID, PaysTate.state, paystatécity.city du pays Rejoindre intérieur paystate sur (country.countryid = countrystate.countryId) Rejoindre intérieur CampagneStateCity sur (countrystate.stateid = countrystatécity.stateid)


0 commentaires