# SQL Vergleich zweier Tabellen



## LordDarkness (5. Juli 2010)

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


----------



## FrankBooth (5. Juli 2010)

Hallo,

du musst einfach nur auf Gleichheit abfragen


```
insert into erg
select a.AnlagenNr,
       a.Ort,
       a.PLZ
from tab2 a,
     tab1 b @server1
where  a.AnlagenNr = b.AnlagenNr
and a.Ort = b.Ort 
and a.PLZ = b.PLZ
```

Kann sein, dass auf deiner DB die insert syntax etwas anders ist. Bei Oracle müßte es so gehen.

Edit: Das Beispiel geht davon aus, dass du auf server2 arbeitest und deine DB Datenbanklinks hinbekommt.

Grüße


----------



## LordDarkness (5. Juli 2010)

Danke erstmal für die schnelle antwort 
Aber was ich noch fragen will die "tab2" ist ja von server2 wie muss ich das schreiben, das ist ja ein anderer server, da muss ich ja auch passwort und so schreiben?

Gruß
Negi


----------



## FrankBooth (6. Juli 2010)

FrankBooth hat gesagt.:


> Das Beispiel geht davon aus, dass du auf server2 arbeitest und deine DB Datenbanklinks hinbekommt.



@server1 ist ein Datenbanklink. Wenn du auf server2 eingeloggt bist, sollte das laufen.

Wenn du das ganze auf server1 laufen lassen willst musst du für die Tabellen auf server2 der Datenbanklink verwenden.
Bietet sich aber in diesem Fall nicht an, da du dann einen Link zum lesen und einen zum schreiben in dein SQL einbauen musst.


----------



## LordDarkness (7. Juli 2010)

Hab was über DB-Link gefunden, werde das mal damit testen. 
Danke euch, wird mich nochmal melden wenn es nicht geklappt hat


----------



## LordDarkness (11. Juli 2010)

Also ich hab das schon mit dem Vergleich hingekriegt, aber ich kann nicht auf die Tabellen auf den anderen Server hinkriegen. Hab was über ein DB-Link gelesen, aber komm damit nicht weiter, mache da was falsch. Will von einer Datenbank auf eine andere Datenbank auf eine Tabelle zugreifen.

Schreib das z.B. so :

```
SELECT ORT
FROM TABELLENNAME@servername.url.com:Port/Database
```

Mach ich da was falsch oder gibt es eine alternative wie man die Verbindung hinkriegt?

Gruß
Negi


----------



## LordDarkness (11. Juli 2010)

jetzt hab ich was über CREATE DATABASE LINK gefunde, komme damit aber auch nicht weiter weiss nicht genau wo ich was hinschreiben muss


----------

