对于重复记录,设置值mysql

olhwl3o2  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(410)

我在mysql中有一个表,如下所示:

BusinessName ABN Status CountOfRecordsPerBusinessName
abccompany   123 Registered 2
abccompany   null Deregistered 2

如果企业名称是重复的,并且abn=null表示注销,而不是null表示注册状态,那么我想将null abn设置为123。
我该怎么做?

htzpubme

htzpubme1#

我们可以尝试在此处执行更新自联接:

UPDATE yourTable t1
INNER JOIN yourTable t2
    ON t1.BusinessName = t2.BusinessName AND
       t1.ABN IS NULL AND
       t2.ABN IS NOT NULL
SET t1.ABN = t2.ABN;

这里的基本思想是加入一个给定的业务记录 ABNNULL 同一家公司的人 ABN 不是 NULL . 然后,穿过非公路
NULL ABN 从第二条记录到第一条记录的值。我们不必担心意外地更新非重复项,因为对于那些非重复项,连接条件总是会失败。

相关问题