0
我很新的SQL,我想知道如果我可以使用條件更新列。只更新非空行
我有兩列,我要更新第二個(B)僅如果在第一個東西(A):
'UPDATE Table1 SET ColumnB = (SELECT BG FROM Table2 WHERE Table1.ColumnC = BG.ColumnZ)'
我怎樣才能避免更新應用到列A爲空的行?
我很新的SQL,我想知道如果我可以使用條件更新列。只更新非空行
我有兩列,我要更新第二個(B)僅如果在第一個東西(A):
'UPDATE Table1 SET ColumnB = (SELECT BG FROM Table2 WHERE Table1.ColumnC = BG.ColumnZ)'
我怎樣才能避免更新應用到列A爲空的行?
一種方法是使用EXISTS
,如果只想更新,其中有一個匹配:
UPDATE Table1
SET ColumnB = (SELECT BG FROM Table2 t2 WHERE table1.ColumnC = t2.ColumnZ)
WHERE EXISTS (SELECT BG FROM Table2 t2 WHERE table1.ColumnC = t2.ColumnZ);
如果您想更新只在第一臺具有非NULL
值,然後在使用WHERE
外部查詢:
UPDATE Table1
SET ColumnB = (SELECT BG FROM Table2 t2 WHERE table1.ColumnC = t2.ColumnZ)
WHERE ColumnB IS NOT NULL;