我想根据另一列中的值更新行。
示例表
Col1 Col2 Col3
'A' | '' | 100
'B' | '' | 120
'C' | 'A' | 0
UPDATE Table SET Col3 = Col3 - 10 WHERE Col1 = 'A'
但是,如果Col2不是空白,那么我想更新在Col2中具有它的值的行,以便
UPDATE Table SET Col3 = Col3 - 10 WHERE Col1 = 'C'
会更新Col1 =' A'行
更新
我发现以下查询适用于我
UPDATE Table SET col3 = Col3 - 10
WHERE Col2 = '' and Col1 = 'C'
OR Col1 = (SELECT Col2 FROM Table WHERE Col1 = 'C')
答案 0 :(得分:0)
其中tbl是表名
update tbl set col3=col3-10
from tbl t
inner join tbl tt
on t.col1=tt.col2 or t.col2=''
where t.col1 = 'C'