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;