Differenzen in 2 Tabellen finden

rina72

Grünschnabel
Hallo. Für mich ist SQL noch relativ neu und ich habe ein Problem: Ich habe 2 Tabellen (Daten von heute und gestern) mit eigentlich identischen Daten (nur eine Spalte mit dem Datum ändert sich). Jetzt muss ich die Differenzen finden, also Datensätze die hinzukommen am heutigen Tag oder die heute weggefallen sind und diese in eine neue Tabelle speichern. Kann mir jemand helfen? Vielen Dank!
 
Hi
Hier mal zwei Abfragen

Speichert die Einträge die neu hinzugekommen sind in newtbl:
SQL:
insert into newtbl (flied1, flied2, ...) 
select (flied1, flied2,..) from db_heute.tbl as h
left join db_gestern.tbl as g on g.id=h.id
where g.id is null;

Speichert die Einträge die heute nicht mehr da sind in newtbl:
SQL:
insert into newtbl (flied1, flied2, ...) 
select (flied1, flied2,..) from db_gestern.tbl as g
left join db_heute.tbl as h on h.id=g.id
where h.id is null;

Die Datensätze mit ein unterschiedlichen Datum kannst du so abfragen:
SQL:
select * from db_gestern.tbl as g
inner join db_heute.tbl as h on h.id=g.id and h.datum<>g.datum;
(db_heute und db_gestern sind die jeweiligen Datenbanken.)

Gruss
jeipack
 
Zurück