2010-11-12 10 views
0

Dans this question, il est enfin cliqué sur comment écrire des jointures entre plusieurs tables, où elles se lient dans une ligne, par ex. Lorsque le Tableau A fait référence au Tableau B et le Tableau B au Tableau C et ainsi de suite.Rejoindre une table à plusieurs en utilisant des jointures

Ce que je ne comprends toujours pas comment faire référence à la situation dans laquelle le tableau A fait référence Tableau B comme ci-dessus et également référence Tableau D.

Dans implicite Rejoint je peux obtenir ce qui suit pour travailler, mais veulent pour le déplacer à explicits ...

SELECT a.name, b.office, c.firm, d.status 
FROM job a, depts b, firms c, statuses d 
WHERE a.office = b.ref 
AND b.firm = c.ref 
AND a.status = d.ref 

Des conseils?

+0

Bon pour vous lorsque vous vous éloignez des jointures implicites. – HLGEM

Répondre

3
SELECT 
    a.name, 
    b.office, 
    c.firm, 
    d.status 
FROM 
    job a 
JOIN depts b ON a.office = b.ref 
JOIN firms c ON b.firm = c.ref 
JOIN statuses d ON a.status = d.ref 

C'est aussi détaillé que je pourrais obtenir sur une question si obscure. Vous n'avez pas décrit ce que signifie exactement "lien" dans votre cas. Donc, je ne sais pas, peut-être que vous avez besoin de rejoindre rejoindre.

+0

C'est tout! J'avais essayé d'être aussi générique que possible, dans certains cas les jointures seront internes, dans d'autres cas externes. C'est pour moi de régler :) –

Questions connexes