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

MySql 码拜 7年前 (2015-11-15) 686次浏览
同一个表,使用不同记录的一列更新另一列
在同一张表中,本人想用A字段和B字段相等,C字段等于0的记录的D字段去更新C字段等于1的D字段,即把D字段为空的字段分别更新成5和6。sql该怎么写?
解决方案:20分
CREATE TABLE test.table1 (
  A varchar(5) NOT NULL,
  B varchar(5) NOT NULL,
  C int(11) NOT NULL,
  D int(11) DEFAULT NULL
)
ENGINE = INNODB
CHARACTER SET utf8
COLLATE utf8_general_ci;
UPDATE table1 t1, (SELECT
    *
  FROM table1
  WHERE C = 0) t2
SET t1.d = t2.d
WHERE t1.C = 1 AND t1.A = t2.A AND t1.b = t2.b

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明同一个表,使用不同记录的一列更新另一列
喜欢 (0)
[1034331897@qq.com]
分享 (0)