Linkes Außenjoin Unerwartetes Verhalten: Mehr Zeilen als die linke Tabelle
Ein häufiges Missverständnis der linken Außenverbindungen ist, dass das Ergebnissatz immer die gleichen oder weniger Zeilen als die linke Tabelle hat. Dies ist jedoch nicht immer wahr. Die Anzahl der Zeilen kann die Zeilenzahl der linken Tabelle unter bestimmten Bedingungen überschreiten.
Dieses Problem wurde in einer Abfrage unter Verwendung eines linken äußeren Join zwischen "susp.SUSP_VISITS" (linke Tabelle) und "Data.dim_Member" (rechte Tabelle) beobachtet. Das zusammengefügte Ergebnis hatte mehr Zeilen als die 4935 Zeilen in "susp.susp_vissits".
Verständnis der linken äußeren Verstöße
Eine linke äußere Join funktioniert wie folgt:
Warum zusätzliche Zeilen aussehen
Die zusätzlichen Zeilen werden nicht durch Duplizieren der linken Tabellenreihen erstellt, sondern durch die Struktur der rechten Tabelle. Das Problem tritt auf, wenn multiple Zeilen in der rechten Tabelle ("data.dim_member") mit einer einzelnen Zeile in der linken Tabelle übereinstimmen ("susp.SUSP_VISITS").
Wenn beispielsweise ein "Memid" in "susp.SUSP_VISITS" multiple "Mitgliedschaftswerte" -Werte in "Data.dim_Member" entspricht Graf.
Lösungen
Um diese Zeile -Inflation in einem linken äußeren Join zu vermeiden:
Das obige ist der detaillierte Inhalt vonWarum gibt mein linker äußerer Join mehr Zeilen zurück als in der linken Tabelle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!