2009-05-26 12 views
1

Ich brauche dieseAktualisierung Spalte C mit den Werten der Spalte A und Spalte B

update [table] 
set [column c] = (select [column a] + ' ' + [column b] from [table]) 

zu erreichen, aber ich bekomme diese Fehlermeldung

Subquery mehr als 1 Wert zurückgegeben. Dies ist nicht zulässig, wenn die Unterabfrage folgt =,! =, <, < =,>,> = oder wenn die Unterabfrage als Ausdruck verwendet wird.

Wie kann ich den gewünschten Effekt ohne die unerwünschten Ergebnisse erzielen :)

Jim

Antwort

5

das einfach:

update table 
set c = a + ' ' + b 

Diese alle Zeilen in der Tabelle aktualisiert.

+0

Duh ... danke ... :) – jim

2

Versuchen Sie, eine WHERE-Klausel zur Unterabfrage hinzuzufügen, sodass nur eine Zeile ausgewählt wird.

+0

Danke für den Tipp – jim

1

UPDATE-Tabelle SET c = a + '' + b; ------- Dies funktioniert, wenn a, b, c vom Datentyp char/var char sind.

Wenn sie vom Datentyp number sind, wird ein Fehler ausgegeben. Überprüfen Sie auch die Länge von C. für zB: wenn C varchar2 (30), varchar2 (10) und b varchar2 (15) es richtig geht, wenn die Länge der rechten Seite Wert ist, gibt es Fehler.

Verwandte Themen