Update mit Select

fly83

Neuer Benutzer
Beiträge
2
Hallo,

ich bin relativ neu wieder auf dem SQL Gebiet unterwergs, und habe da mal eine Frage. Ich muss Designtechnisch einiges Ändern und muss dafür jetzt viele Daten umziehen und umbauen von der Struktur. Jetzt wollte ich mir eine Updateanweisung basteln aber ich hänge gerade noch an meinem Select, da der mir anscheinend mehrere Werte zurückliefert.

Code:
Update Tabelle3 as x
SET conAnbieter = (SELECT     Tabelle1.Spalte20
FROM         stellplatz INNER JOIN
                      Tabelle2 ON Tabelle1.Spalte1 = Tabelle2.Spalte2 INNER JOIN
                      Tabelle3_Copy ON Tabelle2.Spalte1 = Tabelle3_Copy.Spalte1
WHERE     (Tabelle2.Spalte5 IS NULL) AND (x.Spalte1 = Tabelle3_Copy.Spalte1))

Was mache ich an dem Select falsch. Ich muss ja irgend wie wieder auf den Gerade angefassten Datensatz aus meiner UpdateTabelle verweisen.
 
Werbung:

Charly

Datenbank-Guru
Beiträge
306
Hallo fly83,

stimmt deine Ergebnismenge wenn Du dein Subselect ohne das Update ausführst?
Hast Du schon mal versucht, nur zum Testen, das (Tabelle2.Spalte5 IS NULL) aus dem Were des Subselects raus zu nehmen?
Mit der ISNULL bekommst Du für einige Datensätze wascheinlich kein Ergebnis vom Subselect geliefert.
Ist Tabelle3.Spalte1 ein Primärschlüssel? Nur wenn Spalte1 eindeutig ist bekommst Du eine einzelne Zeile vom Subselect.

Gruß Charly

PS: Bin die nächsten 3 Tage nicht am Internet.
 
Werbung:

fly83

Neuer Benutzer
Beiträge
2
Hi,

danke. Ja Spalte 1 ist der Primärschlüssel. Bis jetzt habe ich den Fehler nicht genau lokalisieren können. Ich habe mir geholfen mit "Limit 1". Die Werte haben beim durchschauen gestimmt.
 
Oben