Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : SQL Update



Reaper
08.03.2007, 10:59
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:



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:



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:


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

Mog
08.03.2007, 13:48
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.

Reaper
09.03.2007, 09:26
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).