aktualisiert Ich möchte ein Update machen, wie folgt:eine UPDATE..SET mit Bezug auf die Tabelle Formulieren, die
Update Table_A As a
set COLUMN_1=
(SELECT COLUMN_4 From TABLE_B as b
WHERE b.COLUMN_2 = a.COLUMN_3)
aber ich benutze „Wie“ in der „UPDATE“ Linie nicht. Wie kann ich diese Art von Update durchführen?
EDIT: Mit dem inneren Join bekomme ich den Fehler "Die Konvertierung eines Varchar-Datentyps in einen Datetime-Datentyp führte zu einem Wert außerhalb des Bereichs." wenn Sie einem Datumswert einen Datumswert zuweisen ?! Führen Nullwerte zu diesem Problem? Unter Verwendung von IsDate() sind nur die Null-Werte Nicht-Datumswerte in der Quellspalte.
EDIT2:
Update a
set a.COLUMN_1 = b.COLUMN_4
from Table_A as a
inner join TABLE_B as b on b.COLUMN_2 = a.COLUMN_3
where b.COLUMN_5=17 and c.COLUMN_6 is not null
Überprüfen Sie die genauen Spalten, die den Fehler verursachen. Sie haben wahrscheinlich vergessen, eine der Spalten entweder in der SET-Anweisung oder im JOIN zu konvertieren. Bsp. Set COLUMN_1 = CAST (COLUMN_4 AS DATE) –
Es ist keine Besetzung. Beide COLUMNS (Src und Dst) haben Typ Datum ..... mit Ausnahme der Null-Werte funktioniert auch nicht (wo isnull (COLUMN_SRC, '+') = '+') – MartinPosider234
Können Sie eine neuere Version Ihrer Anweisung mit anonymen Spaltennamen? –