0

我有一个看起来像这样的数据集:

ID | ItemName  | Category1 | Category2 | Category3
1  |  HALv1    | Computer  | Computer  | AI
2  |  HALv2    | Computer  | AI        | AI
3  |  HALv3    | AI        | AI        | AI

理想情况下,我需要它看起来像这样:

ID | ItemName  | Category1 | Category2 | Category3
1  |  HALv1    | Computer  | AI        | 
2  |  HALv2    | Computer  | AI        | 
3  |  HALv3    | AI        |           | 

更具体地说,我需要一些东西(SQL 或正则表达式)来评估一行数据中的 3 列(如上面示例中的 Category1、2、3)并返回在 3 个指定列中没有重复值的行。

数据当前位于 .csv 文件中,但如果需要,可以轻松放入 mySQL 数据库。

可用的工具是用于执行正则表达式的 TextPad 或带有 PHPMyAdmin 3.3.9 的 MySQL 5.5.8(如果解决方案是基于 SQL 的)。预先感谢您的帮助。

4

1 回答 1

1

这将清理像 #1 这样的行:

UPDATE my_table
SET category2 = category3,
    category3 = NULL
WHERE category1 = category2

第 2 行:

UPDATE my_table
SET category3 = NULL
where category2 = category3;

和第 3 行:

UPDATE my_table
SET category3 = NULL,
    category2 = NULL
WHERE category1 = category2
AND category2 = category3;

先处理更新category3,再更新category2的所有case。

于 2012-09-26T21:48:33.597 回答