Est-il possible d'utiliser plusieurs jointures à gauche dans une requête SQL?
LEFT JOIN
ab
ON
ab.sht = cd.sht
je veux ajouter pour attacher une autre requête comme celle-ci?
LEFT JOIN
ab AND aa
ON
ab.sht = cd.sht
AND
aa.sht = cc.sht
Est-ce que ça va marcher?
Oui c'est possible. Vous avez besoin d'un ON pour chaque table de jointure.
LEFT JOIN ab
ON ab.sht = cd.sht
LEFT JOIN aa
ON aa.sht = cd.sht
Incidemment, ma préférence de formatage personnel pour le SQL complexe est décrite dans http://bentilly.blogspot.com/2011/02/sql-formatting-style.html . Si vous en écrivez beaucoup, cela vous aidera probablement.
Oui, mais la syntaxe est différente de celle que vous avez.
SELECT
<fields>
FROM
<table1>
LEFT JOIN <table2>
ON <criteria for join>
AND <other criteria for join>
LEFT JOIN <table3>
ON <criteria for join>
AND <other criteria for join>
Le SQL requis sera un peu comme: -
SELECT * FROM cd
LEFT JOIN ab ON ab.sht = cd.sht
LEFT JOIN aa ON aa.sht = cd.sht
....
J'espère que ça aide.
Vous avez deux choix, selon votre ordre de table
create table aa (sht int)
create table cc (sht int)
create table cd (sht int)
create table ab (sht int)
-- type 1
select * from cd
inner join cc on cd.sht = cc.sht
LEFT JOIN ab ON ab.sht = cd.sht
LEFT JOIN aa ON aa.sht = cc.sht
-- type 2
select * from cc
inner join cc on cd.sht = cc.sht
LEFT JOIN ab
LEFT JOIN aa
ON aa.sht = ab.sht
ON ab.sht = cd.sht