Die Verwendung von zwei Tabellen in der from
-Klausel entspricht funktionell einer cross join
:
Dies gibt eine Reihe von A für jede Zeile in B zurück. Wenn B leer ist, ist das Ergebnis auch leer. Sie können das beheben, indem Sie left join
verwenden. Mit left join
können Sie Zeilen zurückgeben, auch wenn eine der Tabellen leer ist. Zum Beispiel:
Da die Bedingung 1=1
immer wahr ist, ist dies genau wie in cross join
, außer dass sie auch für leere Tabellen funktioniert.
Sie sollten einen linken Join machen.
So
%Vor%Dann erhalten Sie die Zeilen in A und die entsprechende Zeile in B, falls vorhanden.
in dieser Beispiel-ID ist nur Beispielname für Join-Schlüssel
Die oben erwähnte Abfrage zeigt den Join beider Tabellen an, wenn ein contain 2 record und b 7 records enthält, zeigt es 7 * 2 = 14 records an. In Ihrem Fall ist eine der Tabellen leer (mit 0 Datensätzen), es werden keine Daten angezeigt. Wenn Sie immer noch Daten anzeigen möchten und Tabellen keine Beziehung haben, müssen Sie überprüfen, ob die Anzahl der Tabellen größer als 0 ist. Andernfalls werden Datensätze nur aus einer Tabelle angezeigt, die nicht leer ist.
>