J'ai besoin de GAUCHER joindre à la branche entière t2 + t3, mais si je peux trouver une jointure entre t1 et t2, je veux appliquer la jointure t2 et t3.Comment forcer la jointure à l'intérieur d'une branche de jointure à gauche?
SELECT T1.name,T2.bob,T3.a
FROM T1
LEFT JOIN T2 ON t1.id = t2.t1_id
JOIN T3 ON t2.id = T3.t2_id
Quelle est la syntaxe?
données Exemple:
T1 [id,name]
1 aaa
2 bbb
3 ccc
T2 [id,t1_id,bob]
1,1,777
2,1,888
2,2,999
T3[id,t2_id,a]
1,2,'yeh'
RÉSULTAT PRÉVU:
[name] , [a] , [bob]
aaa , 'yeh' , 888
bbb , NULL , NULL
ccc , NULL , NULL
Alors voulez-vous exclure les lignes où est-ce pas NULL [a] et [bob] est NULL? –
@Lynette Duffy - non .... C'est un peu comme une déclaration AND. soit je reçois [A] ET [bob] ou je n'en obtiens aucun (nul, nul). Je ne veux pas avoir [a] sans [bob] et vice versa. –