2017-02-11 6 views
0

Ich habe zwei Tabellen, die SOLLEN die gleichen Informationen enthalten.Vergleichen Sie zwei SQL-Tabellen, um herauszufinden, was fehlt.

Tabelle 1 - Rechnung Header (Kundenname usw.) Tabelle 2 - Rechnungszeilen (Aktienbezug usw.)

Tabelle 1 ist im Grunde eine Zusammenfassung jeder passenden Zeile der Tabelle 2. Ich weiß, Tabelle 1 korrekt ist, und enthält alle Daten.

Die Schlüssel, die übereinstimmen, wären das Datum, die Rechnungsnummer und die Kontonummer.

Gibt es eine Möglichkeit zu sehen, was fehlt in Tabelle zwei?

+0

Können Sie bitte die Struktur Ihrer Tabellen teilen? – Mureinik

Antwort

0

Sie sollten einen Left Outer Join verwenden, um anzuzeigen, was in der linken Tabelle, aber nicht in der rechten Tabelle vorhanden ist. In diesem Fall ist die linke Tabelle Ihre Kopfzeilen und rechts sind Rechnungszeilen. Es gibt viele Beispiele auf MSDN-Seiten und Google-Abfragen ergeben viele Ergebnisse. (Der Versuch, nicht hier ein Beispiel zu schaffen, weil dies eine wunderbare Gelegenheit, aus Erfahrungen zu lernen ist.)

+0

Danke, ich werde dich wissen lassen, wie es mir geht. –

0

Ja Sie verwenden können:

Select * from table 1 
minus 
Select * from table 2; 

Oder können Sie

SELECT column1 [, column2 ] 
FROM table1 [, table2 ] 
[WHERE condition] 

EXCEPT 

SELECT column1 [, column2 ] 
FROM table1 [, table2 ] 
[WHERE condition] 

Die SQL-Ausnahme, clause/operator wird verwendet, um zwei SELECT-Anweisungen zu kombinieren und Zeilen aus der ersten SELECT-Anweisung zurückzugeben, die nicht von der zweiten SELECT-Anweisung zurückgegeben werden.

Verwandte Themen