Comment puis-je écrire une instruction SQL pour sélectionner les données de trois tables? P>
6 Réponses :
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
+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 code> pour les jointures n'est pas universel sur toutes les plateformes SDBMS.
@Joe: J'ai ajouté une alternative qui utilise des clauses. Merci.
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. P>
ex: p>
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)
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
Utilisation de la jointure Vous pouvez sélectionner des données à partir de trois tables
Sélectionnez les données de trois table comme des jointures à l'état de pays et de la ville p>
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) p>
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.