Was ist falsch an diesem einfachen SQL-Outer-Join?Wie kann ein linker äußerer Join B mehr Zeilen zurückgeben als in A?
select count(*) from A -- 25766
select count(*) from B -- 1242
select count(*) from A left outer join B on A.b = B.b -- 310176
Zeilen 25766, 1242 und 310176 Zeilen zurückgeben. (Dies ist für Microsoft SQL Server 2012.) Wie kann A left outer join B
je mehr Zeilen zurückgeben, als in A
, vor allem gegeben this Venn-Diagramm? Ich schätze, ich mache einen dummen Fehler, aber was ist es?
es, dass die Säule sein kann b ist nicht der ganze Schlüssel? – Jens
+1 Ich werde überprüfen. Wie könnte das 310176 erklären? – Drux
Wenn b nur der Teil des Schlüssels ist, kann es sein, dass eine Zeile in A viel mehr Zeilen in B referenziert und wenn in Ihrem Beispiel 1 Satz von A Verweis 12,0 ... Zeilen in B Sie Ihr Ergebnis erhalten. – Jens