对于重复的记录,设置值mysql

时间:2018-07-09 06:06:30

标签: mysql join null duplicates fill

我在mysql中有一个看起来像这样的表:

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

如果商家名称重复,并且ABN =注销状态为null,但注册状态不为null,我想将ABN设置为123。

我该怎么做?

1 个答案:

答案 0 :(得分:2)

我们可以尝试在此处进行更新自我加入:

<td class="width-33 content-cell" align="left" style="width: 33.33%; padding: 30px 0px; padding-bottom: 0px;">

这里的基本思想是将给定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; ABN的业务记录与来自NULL不是ABN的同一业务的记录相结合。然后,将非NULL NULL值从第二条记录拖到第一条记录。我们不必担心意外更新非重复项,因为联接条件对于这些重复项总是会失败。