Python 仅更新非空行
我对SQL非常陌生,我想知道是否可以使用条件更新列 我有两列,仅当第一列(A)中有内容时,我才想更新第二列(B):Python 仅更新非空行,python,sql,python-2.7,sqlite,sql-update,Python,Sql,Python 2.7,Sqlite,Sql Update,我对SQL非常陌生,我想知道是否可以使用条件更新列 我有两列,仅当第一列(A)中有内容时,我才想更新第二列(B): 如何避免将更新应用于列A为空的行?如果您只想在存在匹配项的位置进行更新,则有一种方法使用EXISTS: UPDATE Table1 SET ColumnB = (SELECT BG FROM Table2 t2 WHERE table1.ColumnC = t2.ColumnZ) WHERE EXISTS ( SELECT BG FROM Table2 t2 WH
如何避免将更新应用于列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 );
如果只想在第一个表具有非空值的地方更新,请在外部查询中使用where
:
UPDATE Table1
SET ColumnB = (SELECT BG FROM Table2 t2 WHERE table1.ColumnC = t2.ColumnZ)
WHERE ColumnB IS NOT NULL;
一种方法使用
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 );
如果只想在第一个表具有非空值的地方更新,请在外部查询中使用where
:
UPDATE Table1
SET ColumnB = (SELECT BG FROM Table2 t2 WHERE table1.ColumnC = t2.ColumnZ)
WHERE ColumnB IS NOT NULL;