【发布时间】:2014-02-17 16:18:17
【问题描述】:
我正在尝试清理 MySQL 中的一些数据,但我不确定是否是解决以下问题的最有效方法。我有三列 A、B 和 C。它们经常具有相同的值。如果 A & B 相同或 A & C 相同,那么如果可能的话,我想用非 NULL 值填写另一个选项。 B & C 不影响 A 的值。例如:
-------------------
|A |B |C |
-------------------
|1 |2 |3 |
|1 |2 |NULL |
|2 |5 |8 |
|2 |NULL |8 |
|3 |NULL |9 |
|3 |NULL |NULL |
-------------------
在上面的例子中,第2行,C列应该填3,第4行,B列应该填5。当我只有两个选项时,我们相应地填写。因此第 6 行 C 列应为 9,而第 5 行 B 列和第 6 行 B 列都保持 NULL。我如何编写脚本来解决这个问题,如果 B 或 C 不为 NULL,那么我们根据表中的其他值填充它?谢谢。
【问题讨论】:
-
您可以使用
case编写update语句。我们非常乐意帮助您编写脚本,但到目前为止您有什么尝试?