从表中的值更新列空白

时间:2017-09-14 18:53:46

标签: mysql updates

我想更新一个表格列,其中字段为空白,并且列中有一个邮政编码,因为两行的名称字段相同。

所以运输拉链空白需要填写相同的运输拉链,其名称相同。

由于

The attached is the table screenshot

2 个答案:

答案 0 :(得分:0)

您没有提供实际的表名。我将使用table_name作为向您展示如何做的一种方式。我使用table_name两次,所以每次我给它一个别名m& f)。这样我们就可以做比较

慢回答

UPDATE table_name m
SET m.shipping_zip = 
   (SELECT f.shipping_zip 
    FROM table_name f 
    WHERE f.Name=m.Name and f.shipping_zip<>'')
WHERE m.shipping_zip = '';

快速回答(但未经测试)

UPDATE table_name m, table_name f
SET m.shipping_zip = f.shipping_zip
WHERE m.Name=f.Name AND m.shipping_zip='' AND f.shipping_zip<>'';

答案 1 :(得分:0)

这可以这样做

update `table` t, (select * from `table`
where shipping_zip is not null and shipping_zip != '')q
set t.shipping_zip = q.shipping_zip
where t.Name = q.Name;