Ich habe einige Probleme versuchen, herauszufinden, wie man eine SQL-Anweisung, die die gleiche Menge an Datensätzen in der linken Tabelle gefunden zurückgibt.Join das wird die gleiche Anzahl von Datensätzen auf der linken Seite Tabelle
Zum Beispiel haben wir zwei Tabellen, Transaktionen und Partner. Aufgrund der ursprünglichen Gestaltung der Tabellen gibt es keine Möglichkeit, ein exakt übereinstimmendes Paar zu erhalten. IE. Eine Transaktion könnte viele Partner haben, auf die sie sich bezieht.
Was ich suche, ist, alle Transaktionen mit einer Partner-ID anzuzeigen. Wenn eine Transaktion mehr als eine übereinstimmende Partner-ID hat, muss ich das erste Vorkommen des Spiels übernehmen und den Rest wegwerfen. Wenn eine Transaktion keine übereinstimmende Partner-ID hat, muss ich sie trotzdem anzeigen, aber mit einem leeren oder Null-Wert für die Partner-ID.
Transaktionstabelle
Transaction ID | ID 1 | ID 2
-------------- +---------+----------
T1 | A | 1
T2 | C | 3
T3 | B | 1
T4 | D | 4
T5 | A | 2
Partner Tabelle
Transaction ID | ID 1 | ID 2
---------------+---------+----------
P1 | A | 1
P2 | B | 2
P3 | C | 3
P4 | C | 3
P5 | D | 4
gewünschten Ergebnisse
Transaction ID| ID 1 | ID 2 | Partner ID
--------------+---------+----------+-----------
T1 | A | 1 | P1
T2 | C | 3 | P3
T3 | B | 1 | Null
T4 | D | 4 | P5
T5 | A | 2 | Null
Ich fühle mich wie eine Form der äußeren müssen kommen sicher sind keine Transaktionen machen nicht abgefragt, aber ich kann nicht entschlüsseln, wie man sicherstellt, dass keine doppelten Transaktionen angezeigt werden.
Dank
Vielen Dank, das funktioniert perfekt. – Soul3lade