首页 > 同一个表,使用不同记录的一列更新另一列

同一个表,使用不同记录的一列更新另一列


在同一张表中,我想用A字段和B字段相等,C字段等于0的记录的D字段去更新C字段等于1的D字段,即把D字段为空的字段分别更新成5和6。sql该怎么写?


update yourTable t set t.D = (select t1.D from yourTable t1 where t1.C = '0' and t1.A = t.A and t1.B = t.B) where t.D is null;


UPDATE test t1,
(SELECT * FROM test WHERE C = 0) t2
SET t1.D = t2.D
WHERE t1.C = 1
AND t1.A = t2.A
AND t1.B = t2.B;


完全没有看懂,能举个例子你希望将哪个字段更新成什么具体的值,原因是什么吗?或者有什么具体的场景可以说一下,或者有更好的解决方案

【热门文章】
【热门文章】