我是SQL的新手,所以需要帮助和建议我遇到的一件事。
我的表格如下:
Col1 Col2 Col3 Col4
1 AA BB NULL
2 AA BB NULL
3 AA BB 1000
4 CC DD NULL
5 CC DD 2000
我想更新Col4
的NULL值,其值Col4
Col2
和col3
值相同。
就像在我的第一行中Col4
具有NULL而第三行Col4
具有值(具有相同的Col1
和Col2
值)
我只是想知道有没有办法可以用特定值更新NULL。
答案 0 :(得分:0)
update your_table t1
join
(
select col2, col3, max(col4) as col4
from your_table
group by col2, col3
) t2 on t1.col2 = t2.col2 and t1.col3 = t2.col3
set t1.col4 = t2.col4
where t1.col4 is null
答案 1 :(得分:0)
您可以使用join
:
update table t join
(select col2, col3, max(col4) as col4
from table t
group by col2, col3
) tt
on t.col2 = tt.col2 and t.col3 = tt.col3
set t.col4 = tt.col4
where t.col4 is null;
注意:这会选择col4
的最大值,假设多行有值。