J'ai deux tables Dites A et B. A est la table maître et B est la table enfant, à partir de laquelle j'ai besoin de valeurs comme ci-dessous.
select A.Id, A.Name, B.Path from A,B where A.Id=B.Id
Maintenant, je veux append une colonne de 3ème table qui est l'enfant de la table 'B', disons C c'est-à-dire C.File.
La valeur de C.File sera nulle si C.SubId = B.SubId est faux sinon la valeur returnnée sera returnnée lorsque la condition sera vraie.
C'est la définition exacte d'une left join
:
SELECT a.id, b.name, b.path, c.file FROM a JOIN b ON a.id = b.id LEFT JOIN c ON b.subid = c.subid
Vous devez LEFT JOIN
votre troisième table de ce que je peux rassembler.
SELECT A.Id, A.Name, B.Path, C.file FROM tableA a INNER JOIN tableB b ON a.id = b.id LEFT JOIN tableC c ON b.subid = c.subid
Il suffit de join les trois tables en utilisant INNER JOIN
select A.Id, A.Name, B.Path ,C.File FROM A INNER JOIN B ON A.Id=B.Id INNER JOIN C ON C.SubId=B.SubId