SQL Vergleich zweier Tabellen

Hallo,
bin ein SQL Anfänger und bräuchte eine Abfrage weiß aber gar nicht wie das geht, wäre um jede Hilfe dankbar. Also zu meiner Abfrage:
Es gibt 2 Server (server1, server2).
Bei server1 gibt’s eine Tabelle (tab1) und auf server2 zwei Tabellen (tab2, erg ist leer). In den jeweiligen Tabellen(tab1, tab2) gibt es folgende Spalten AnlagenNr, Ort und PLZ.


Ich möchte beide Tabellen vergleichen, erst wenn die AnlagenNr gleich ist, sollen auch Ort und PLZ, die in der gleichen Zeile wie die AnlagenNr liegen, verglichen werden. Erst wenn alle drei gleich sind, soll in die (erg) Tabelle die AnlagenNr eingetragen werden.



Danke im voraus


Negi

Was ist, wenn sich zwischen den Vergleichen was ändert? Nein, mit SQL arbeitet man anders: vergleiche alle Spalten sofort miteinander.

Um die gemeinsammen Datensätze zu finden gibt es INTERSECT:

test=*# select * from tab1;
 anlage |  plz   | ort
--------+--------+------
      1 | 012345 | ort1
      2 | 222222 | ort2
      3 | 345678 | ort3
(3 Zeilen)

Zeit: 0,206 ms
test=*# select * from tab2;
 anlage |  plz   |  ort
--------+--------+-------
      1 | 111111 | ort11
      2 | 222222 | ort2
      3 | 121212 | ort3
(3 Zeilen)

Zeit: 0,201 ms
test=*# select * from tab1 intersect select * from tab2;
 anlage |  plz   | ort
--------+--------+------
      2 | 222222 | ort2
(1 Zeile)

Zeit: 0,355 ms
test=*# create table erg as select * from tab1 intersect select * from tab2;
SELECT
Zeit: 8,413 ms
test=*# select * from erg;
 anlage |  plz   | ort
--------+--------+------
      2 | 222222 | ort2
(1 Zeile)

Zeit: 0,274 ms
test=*#

Und ja: ich bin ein schlechtes Vorbild wegens dem *, in produktiven Code bitte NIE verwenden.

Andreas