Ist es möglich, mehrere linke Joins in der SQL-Abfrage zu verwenden?
LEFT JOIN
ab
ON
ab.sht = cd.sht
ich möchte hinzufügen, um eine weitere Abfrage wie diese anzufügen? wird es funktionieren?
LEFT JOIN
ab AND aa
ON
ab.sht = cd.sht
AND
aa.sht = cc.sht
Ob das funktioniert?
Ja, es ist möglich. Sie benötigen eine ON für jede Join-Tabelle.
LEFT JOIN ab
ON ab.sht = cd.sht
LEFT JOIN aa
ON aa.sht = cd.sht
Meine persönliche Formatierungseinstellung für komplexes SQL ist übrigens in http://bentilly.blogspot.com/2011/02/sql-formatting-style.html beschrieben. Wenn Sie viel davon schreiben, wird es wahrscheinlich helfen.
Ja, aber die Syntax unterscheidet sich von der, die Sie haben
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>
Die erforderliche SQL wird wie folgt aussehen:
SELECT * FROM cd
LEFT JOIN ab ON ab.sht = cd.sht
LEFT JOIN aa ON aa.sht = cd.sht
....
Ich hoffe es hilft.
Sie haben zwei Möglichkeiten, abhängig von Ihrer Tabellenreihenfolge
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