71 votes

Jonction interne de trois tables

J'ai trois tables que je souhaite joindre intérieurement par une colonne commune entre elles.

Disons que mes tables sont ;

TableA TableB TableC

Je souhaite adhérer A-B mais aussi B-C tous par ce champ commun que j'appellerai commun.

J'ai joint deux tables comme ceci ;

dbo.tableA AS A INNER JOIN dbo.TableB AS B
ON A.common = B.common

Comment ajouter le troisième ?

2 votes

Dbo.tableA AS A INNER JOIN dbo.TableB AS B ON A.common = B.common inner join dbo.TableC as C on C.common=B.common

134voto

podiluska Points 34522
select *
from
    tableA a
        inner join
    tableB b
        on a.common = b.common
        inner join 
    TableC c
        on b.common = c.common

0 votes

A quoi ressemblerait le tableau de sortie. Dites SO questions et commentaires à chaque question, et réponses à chaque question et commentaires à chaque réponse. Trois tableaux : questions, réponses, commentaires.

1 votes

Vous obtiendriez toutes les colonnes de la table A, puis toutes les colonnes de la table B, puis toutes les colonnes de la table C. Ou vous pouvez choisir les colonnes que vous voulez

1 votes

Qu'est-ce qui se passe derrière le deuxième INNER JOIN ; est-ce qu'on joint sur la sortie qui demande Est-ce qu'il y a une table temporaire qui est créée à partir de la première jointure ? S'il y a une table temporaire, comment appelons-nous cette table ?

16voto

Bazzz Points 9487

Refaites la même chose, mais pour le tableau C.

SELECT *
FROM dbo.tableA A 
INNER JOIN dbo.TableB B ON A.common = B.common
INNER JOIN dbo.TableC C ON A.common = C.common

8voto

Arkiliknam Points 632
dbo.tableA AS A INNER JOIN dbo.TableB AS B
ON A.common = B.common INNER JOIN TableC C
ON B.common = C.common

7voto

raman Points 2336

Essayez le code suivant

select * from TableA A 
inner join TableB B on A.Column=B.Column 
inner join TableC C on A.Column=C.Column

3voto

Omar Faruk Points 11

Essayez ceci :

SELECT * FROM TableA
JOIN TableB ON TableA.primary_key = TableB.foreign_key 
JOIN TableB ON TableB.foreign_key = TableC.foreign_key

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X