2016-09-12 2 views
1

Ich habe zwei Tabellen, aus denen ich Daten gegeneinander überprüfen möchte. In einer Tabelle habe ich Werte, die (wie in der Nacht zuvor) als die "aktuellsten" angesehen werden. In einer anderen Tabelle gibt es potenzielle Änderungen in diesem Wert, die später aktualisiert werden.Validieren von Daten in SQL

Die Struktur der Daten ist wie folgt:

TYPE/Date_of_Delivery/Deliverable (integer)/Update_Time 

Ein Beispiel wäre:

ABC/10-30-16/4.5/9-01-16 

Ich möchte mit einem Tisch, um am Ende, die die „aggregate“ Changes bevölkerten zeigt an jedem Lieferdatum.

Zum Beispiel, wenn das Datum der Lieferung von 10-30-16 bis 10-27-16 geändert wurde, würde Ich mag es, wie etwas zeigen:

ABC/10-30-16/-4.5/9-01-16 
ABC/10-27-16/+4.5/9-11-16 

Außerdem, wenn es eine Änderung ist in der lieferbaren Wert:

ABC/10-30-16/-4.5/9-01-16 
ABC/10-27-16/+6.3/9-11-16 

habe ich versucht, einige Verbindungen zwischen den Tabellen verwenden, aber ich am Ende die gleichen lieferbaren Werten entsprechen gegen viele Liefertermine, dass sie gegen nicht übereinstimmen sollte. Irgendwelche Ideen hier? Danke für deine Hilfe!

+0

Ich entfernte die inkompatiblen Datenbank-Tags. Bitte fügen Sie das Tag für die Datenbank, die Sie wirklich verwenden, hinzu. –

+0

Wählen Sie * aus Tabelle1 minus Wählen Sie * aus Tabelle2 sollte funktionieren. –

Antwort

0

Below Abfrage sollten Ihnen helfen:

select * from table1 
minus 
select * from table2 

Above Abfrage würden Sie alle Zeilen von Tabelle 1, die in Tabelle 2 verschieden sind.

+0

Beachten Sie, dass "MINUS" Oracle-spezifisch ist. Bei (Standard) SQL sollte dies "EXCEPT" sein –