Tabelleninhalt in SQL vergleichen

Veröffentlicht: 9. Februar 2011 in SQL, Tipp, Trick

Oder auch „Ist der Datensatz in beiden Tabellen vorhanden?“

Um einen Automatismus per Webservice zu steuern, musste ich DataPorts in Codeunits umschreiben (NAS und Webservice :D) und in diesem Zuge wollte ich am Ende die Importierten Daten im Vergleich zum DataPort überprüfen. Zu allerersteinmal wollte ich kontrollieren ob alle Datensätze importiert wurden, also ob beide Varianten die selben Datensätze erzeugen. Dafür habe ich den Dataport in einem Mandanten gestartet und die Codeunit in einem anderen Mandanten. Nun können diese per SQL einfach gegenübergestellt werden, sodass verglichen werden kann, wo ein Datensatz fehlt. Da dies allerdings (meines Wissens nach) nicht mit einem Script geht, habe ich zwei kleine gebastelt. Mit den nun folgenden SQL Scripten (natürlich abgeändert 😉 ) können Daten zweier Tabellen verglichen werden:

-- es fehlt etwas in TabelleEins
SELECT *
FROM [DatenBank].[dbo].[MandantEins$Tabelle XYZ] AS TabelleInEins
LEFT JOIN [DatenBank].[dbo].[MandantZwei$Tabelle XYZ] AS TabelleInZwei
ON TabelleInEins.ID = TabelleInZwei.ID
WHERE TabelleInZwei.ID is null
-- es fehlt etwas in TabelleZwei
SELECT *
FROM [DatenBank].[dbo].[MandantEins$Tabelle XYZ] AS TabelleInEins
RIGHT JOIN [DatenBank].[dbo].[MandantZwei$Tabelle XYZ] AS TabelleInZwei
ON TabelleInEins.ID = TabelleInZwei.ID
WHERE TabelleInEins.ID is null

Die Tage wird wohl noch ein „Datensatzwert in SQL vergleichen“ Artikel erscheinen, da ich natürlich noch die Richtigkeit der restlichen importierten Daten überprüfen muss.

Diese Scripte mögen nicht das non-plus Ultra seien aber sie haben mir ihren Dienst erwiesen 🙂 Verbesserungsvorschläge/Alternativ-Scripte gern als Kommentar.

Mit freundlichen Grüßen, Matthias König

Advertisements

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s