update table mit Hilfe von Werten einer 2. Tabelle

20/04/2008 - 12:26 von Torsten Koehler | Report spam
Hallo,

mit Hilfe des folgenden Befehls möchte ich die Spalten zweier Tabellen vergleichen und bei Gleichheit in Spalte 2 der Tabelle 1 den Wert "YES" eintragen:

declare @source01 nchar (10);
set @source01 = (select column01 from table02)
update table01 set column02 = 'YES' where column01 = @source01


Ich erhalte die folgende Fehlermeldung:

Msg 512, Level 16, State 1, Line 2
Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.


Mir ist klar, das ich das ganze in einer Schleife abarbeiten muss. Beim folgenden Versuch bin ich ebenfalls klàglich gescheitert:

declare @source01 nchar (10);
set @source01 = (select column01 from table02);

For Each column in table01 where column01 = @source01
set column02 = 'YES'
Next


Für Eure Unterstützung wàre ich sehr dankbar

Gruß

Torsten
 

Lesen sie die antworten

#1 Holger Rachut
20/04/2008 - 15:01 | Warnen spam
Hi Thorsten

wie wàrs mit

Update table01
set column02='Yes'
where column01 in (select column01 from table02)

fàllt mir da spontan ein.


Torsten Koehler schrieb:
Hallo,

mit Hilfe des folgenden Befehls möchte ich die Spalten zweier Tabellen
vergleichen und bei Gleichheit in Spalte 2 der Tabelle 1 den Wert "YES"
eintragen:

declare @source01 nchar (10);
set @source01 = (select column01 from table02)
update table01 set column02 = 'YES' where column01 = @source01


Ich erhalte die folgende Fehlermeldung:

Msg 512, Level 16, State 1, Line 2
Subquery returned more than 1 value. This is not permitted when the
subquery follows =, !=, <, <= , >, >= or when the subquery is used as an
expression.


Mir ist klar, das ich das ganze in einer Schleife abarbeiten muss. Beim
folgenden Versuch bin ich ebenfalls klàglich gescheitert:

declare @source01 nchar (10);
set @source01 = (select column01 from table02);

For Each column in table01 where column01 = @source01
set column02 = 'YES'
Next


Für Eure Unterstützung wàre ich sehr dankbar

Gruß

Torsten

Ähnliche fragen