Ich habe zwei Tabellen: A (525.968 Datensätze) und B (517.831 Datensätze). Ich möchte eine Tabelle mit allen Zeilen von A und den übereinstimmenden Datensätzen von B generieren. Beide Tabellen haben die Spalte "id" und die Spalte "year". Die Kombination von id und Jahr in Tabelle A ist einzigartig, aber nicht in der Tabelle B. Also schrieb ich die folgende Abfrage:LEFT JOIN gibt ein falsches Ergebnis in PostgreSQL zurück
SELECT
A.id,
A.year,
A.v1,
B.x1,
B.e1
FROM
A
LEFT JOIN B ON (A.id = B.id AND A.year = B.year);
ich das Ergebnis dachte soll die gleiche Gesamtzahl der Datensätze in A enthält, sondern nur gibt ungefähr 517.950 Datensätze zurück. Ich frage mich, was die mögliche Ursache sein könnte.
Danke!
Die Abfrage sollte alle Datensätze der Tabelle 'A' zurückzukehren. Ist das die ganze Abfrage, oder gibt es auch eine 'WHERE'-Klausel? –