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        |           | 

より具体的には、データ行の 3 つの列 (上記の例の Category1、2、3 など) を評価し、指定された 3 つの列内に重複する値がない行を返す何か (SQL または正規表現) が必要です。

データは現在 .csv ファイルにありますが、必要に応じて簡単に mySQL データベースに入れることができます。

利用可能なツールは、正規表現を実行するための TextPad、またはソリューションが SQL ベースの場合は PHPMyAdmin 3.3.9 を使用した MySQL 5.5.8 です。よろしくお願いいたします。

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;

最初にカテゴリ 3 を更新し、次にカテゴリ 2 を更新するすべてのケースを処理します。

于 2012-09-26T21:48:33.597 に答える