Ich habe ein Problem mit der folgenden Abfrage:Abfrage mit dem linken äußeren Verknüpfung in SQL
select main.courseid
,main.coursename
,main.catid
,main.catname
,main.need_dte
from (
select t1.courseid
,t1.coursename
,t2.catid
,t2
,catname
,t2.need_dte
from t1
,t2
where t1.courseid = t2.courseid
and t1.coursename = t2.coursename
) main
left outer join (
select courseid
,coursename
,need_dte training_info
) ui on main.courseid = ui.courseid
and main.coursename = ui.coursename
and main.need_dte = ui.need_dte
ich das oben beschriebene Szenario habe, in denen ich äußert zwischen den Tabellen beitreten zu tun versuchen links „main“ und „training_info ".
Haupttabelle: eine innere Verbindung zwischen t1 und t2, um das Training und die Kategoriedetails zu erhalten.
training_info (ui): hat Trainingsdetails ohne Kategoriedetails.
Hier habe ich einige Kursdetails in "Main" und "Ui" -Tabellen gemeinsam. und ich habe einige einzigartige Kursaufzeichnungen in "Haupt" -Tabelle nicht in "UI" -Tabelle. also versuche ich, sowohl die einzigartigen als auch die gemeinsamen Aufzeichnungen zu extrahieren.
Ich bin in der Lage, die Ergebnisse für diese Verbindung zu erhalten, aber das Problem ist mit der need_dte. Das Feld need_dte ist in beiden Tabellen vorhanden. Im Ergebnis, wenn die Datensätze aus der Tabelle "main" stammen, kann das Feld need_dte von der inneren Tabelle t2 aktualisiert werden. Wenn die Datensätze aus der Tabelle "ui" im Ergebnis stammen, wird need_dte nicht gefüllt.
Gibt es eine Möglichkeit, diese Join-Einrichtung zu verwenden Ich brauche die need_dte für die Ergebnisdatensätze aus der Tabelle training_info, auch wenn diese Datensätze eine need_dte haben.
Danke!
Entweder so oder vielleicht braucht das OP einfach zwei Spalten, eine wie 'main_need_dte' und die andere' trainings_need_dte'. (Entweder kann in einigen Zeilen "null" sein - vielleicht ist das in Ordnung.) – mathguy
Danke coalesce funktionierte :) – user3262279