Ich habe 2 Tabellen, die ich vergleichen muss, um zu wissen, welche Daten in sind oder nicht. Ich versuche die Anfrage zu finden, finde sie aber noch nicht. Die Daten zu vergleichen sind, in detail1 und detail2 gespeichert sind, wie folgt definiert:Vergleichen von 2 Tabellen, um Unterschiede zu überprüfen
detail1
D1_ID (integer)
D1_MASTERID (integer)
mit Daten
| D1_MASTERID | D1_ID |
| 1 | 1 |
| 1 | 3 |
detail2
D2_ID (integer)
D2_MASTERID (integer)
mit Daten
| D2_MASTERID | D2_ID |
| 1 | 1 |
| 1 | 2 |
| 1 | 4 |
und
master
MASTER_ID (integer)
mit Daten
| MASTERID |
| 1 |
Ich habe versucht, viele Art und Weise, und dies ist der letzte Versuch, die noch Arbeit doesnn't:
select MASTER_ID, D1_ID, D2_ID
FROM master
LEFT JOIN detail1 ON MASTERID=D1_MASTERID
LEFT JOIN detail2 ON MASTERID=D2_MASTERID
Das Ergebnis i erhalten, ist so etwas wie
| MASTERID | D1_ID | D2_ID |
| 1 | 1 | 1 |
| 1 | 1 | 2 |
| 1 | 1 | 4 |
| 1 | 3 | 1 |
| 1 | 3 | 2 |
| 1 | 3 | 4 |
Was Ich mag würde zu bekommen ist:
| MASTERID | D1_ID | D2_ID |
| 1 | 1 | 1 |
| 1 | | 2 |
| 1 | 3 | |
| 1 | | 4 |
Ich dachte, eine linke Join kann so ... aber es funktioniert nicht. oder Unterabfragen? Ich bin wirklich nicht sicher
i die Seite überprüft http://sql.sh/cours/jointures aber es hilft auch nicht ...
Thx
Ist es mysql oder Orakel? Auch, bitte posten Sie die Startdaten für Ihr erwartetes Ergebnis – Aleksej
Eigentlich ist es auf Oracle (aber es kann in MySQL später sein) ... – ffert2907