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

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).

das geht mit
http://dev.mysql.com/doc/refman/5.0/en/federated-use…
dabei beachten
http://dev.mysql.com/doc/refman/5.0/en/federated-lim…

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.

INSERT INTO erg (AnlagenNr,Ort,PLZ)
SELECT AnlagenNr,Ort,PLZ FROM tabl1
JOIN tabl2
ON tabl1.AnlagenN = tabl2.AnlagenN
WHERE tabl1.Ort = tabl2.Ort
AND tabl1.PLZ = tabl2.PLZ

oder ohne JOIN

INSERT INTO erg (AnlagenNr,Ort,PLZ)
SELECT tabl2.AnlagenNr,tabl2.Ort,tabl2.PLZ
FROM tabl1, tabl2
WHERE tabl1.AnlagenN = tabl2.AnlagenN
AND tabl1.Ort = tabl2.Ort
AND tabl1.PLZ = tabl2.PLZ

jenachdem wie deine keys so liegen und ob es doppelte gibt, braucht es dann vielleicht IGNORE oder DUPLICATE UPDATE etc …

etwas schwammig die darstellung der tabellen , ohne key etc

Danke schön wirds mal ausprobiern :wink:

1 Like

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 [email protected]:stuck_out_tongue:ort/Database

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

Gruß
Negi

Schreib das z.B. so :

SELECT ORT
FROM [email protected]:stuck_out_tongue:ort/Database

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

ich hab dir5 doch den link gegeben.
Du kanst nicht direkt auf einen anderen server zugreifen.

Du kannst nur eine tabelle auf deinem Server erzeugen die verbunden ist mit dem anderen server , quasi zwischenspeicher.

Wenn dir die hilfe nicht zugesagt hast, bist du irgentwie die falsche Person für diese Aufgabe.