Die nachstehende Abfrage wählt die Zeilen aus Tabelle_1 aus, die in Tabelle_2 nicht vorhanden sind, und zwar anhand der Werte in den 4 Spalten. Die Nichtübereinstimmung könnte auf eine oder mehrere Spalten zurückzuführen sein.
Ich möchte die Abfrage erweitern, um mir mitzuteilen, welche Spalte(n) die nicht übereinstimmenden Werte enthielt(n), indem ich entweder den Spaltennamen oder den Wert anzeige. Ich kann dies in einem Cursor tun, ziehe es aber vor, es in einem Set-basierten Vorgang zu tun, wenn möglich.
SELECT i.agent ,
i.agency ,
i.customer ,
i.Company
FROM table_1 AS i
WHERE NOT EXISTS ( SELECT p.agent ,
p.agency ,
p.customer ,
p.Company
FROM table_2 AS p
WHERE i.Agent = p.Agent
AND i.agency = p.Agency
AND i.customer = p.customer
AND i.Company = p.Company )
Aktualisierung: Ich denke, das muss noch verfeinert werden. Fügen wir hinzu, dass 3 von 4 Spalten übereinstimmen müssen.