-
SQL Update
Ich will bei einer bestehenden Tabelle (mit Inhalt) eine leere Spalte (im Bsp. Spalte2) füllen/ updaten. Die Quell- bzw. Zieltabelle sieht folgendermaßen aus:
Code:
Zieltabelle:
Spalte1 (PK) Spalte2 Spalte3
----------------------------------------
1 NULL Daten
2 NULL Daten
3 NULL Daten
4 NULL Daten
5 NULL Daten
6 NULL Daten
Quelltabelle (quasi eine Beziehungstabelle):
Spalte1 (PK) Spalte2
--------------------------
1 4711
2 4711
3 0815
4 666
5 666
6 666
Ich möchte, daß in der Zieltabelle (Spalte2) die passenden Werte aus der Quelltabelle stehen, etwa so:
Code:
Spalte1 (PK) Spalte2 Spalte3
----------------------------------------
1 4711 Daten
2 4711 Daten
3 0815 Daten
4 666 Daten
5 666 Daten
6 666 Daten
Eigentlich kein Problem, aber ich kriegs nicht hin :\ ! Man muss ja nicht einmal den PK (Spalte1) von Quell- und Zieltabelle vergleichen. Waaah, das ist es ja, was mich so ärgert >:( !
EDIT: Habe es hinbekommen! Für jemanden, der die Lösung wissen will:
Code:
UPDATE Zieltabelle
SET Spalte2 =
(SELECT Spalte2
FROM Quelltabelle
WHERE Zieltabelle.Spalte1 = Quelltabelle.Spalte1)
WHERE EXISTS
(SELECT 1
FROM Quelltabelle
WHERE Zieltabelle.Spalte1 = Quelltabelle.Spalte1)
Geht bestimmt auch anders, aber naja ;) .
-
Virtuelle Tabelle? Join? So wie du es gerade erklärt hast, bin ich mir recht sicher, das ein Join ausreicht. Schlag mal nach was das ist, insofern du es nicht kennst.
-
Danke, ich weiss, was ein Join(t) ist (muhahaha, welch schlechter Witz :o ). Aber mit einem Join realisieren, hört sich für mich schwieriger an! Join & Co hatte ich schon in einigen Prüfungen gehabt, aber das ist länger her (die graue Theorie).