Ich habe 2 Tabellen mit derselben Struktur (Feldnamen). Tabelle 1 und Tabelle 2.SQL Server - alle Datensätze aus linker Tabelle und nur nicht passendem Datensätze aus dem rechten Tabelle
Ich brauche alle Datensätze aus Tabelle 1 zurückzukehren und nur Datensätze aus Tabelle 2, die zu einem Datensatz in Tabelle 1 nicht übereinstimmen/beitreten.
Table2 hat mehr Datensätze als Tabelle 1.
Ich trete die zwei Tabellen auf drei Feldern.
Also im Grunde möchte ich alle Datensätze aus Tabelle 1 zurückgeführt und nur Datensätze, die kein Spiel haben (auf den drei Feldern Beitritt) von Tabelle2 Table1 zurückgegeben.
anders gesagt, nehmen Sie Table1 Aufzeichnungen Vorrang vor table2 Aufzeichnungen in meinem Endergebnis ausgegeben wird, wenn die Datensätze (für die drei Felder denselben Wert) in beiden Tabellen vorhanden
ich wie die unten etwas zu schreiben begonnen, aber ich don‘ Ich denke, es wird funktionieren. Sollte ich stattdessen eine linke äußere Verbindung verwenden?
Select * from table1 t1
left join table2 t2 on t1.id = t2.id and t1.date = t2.date and t1.custid= t2.custid
where t2.id is null or t2.date is null or t2.custid is null
ist 'id' einen eindeutigen Schlüssel für diese Tabellen? –
Nein, keine der drei aufgeführten Spalten ist in der Tabelle eindeutig. –