2

データベースを移行していて、整数の列を関連するカテゴリに文字列形式で変更する必要があります。ifelse または switch/case/break を使用して各値を確認し、その場で変更するにはどうすればよいですか?

SELECT *, Category FROM Members
  Category =
  Switch(category)
  if (value == 1 then change to "Category 1", value == 2 then change to "Category 2 and so on.)
4

2 に答える 2

1
SELECT *, case when category = 1 then 'Category 1'
               when category = 2 then 'Category 2'
               else 'Category unknown'
          end as category
FROM Members
于 2013-08-12T15:50:23.063 に答える
0

MySQL の CASE 句でこれを行うことができます。

UPDATE `Members`
    Set `Category` = CASE `Value`
        WHEN '1' THEN 'Category 1'
        WHEN '2' THEN 'Category 2'
    END
WHERE `Value` IN ('1','2');

これは、 を含むすべての行にValue = '1'も が含まれることを意味しますCategory = 'Category 1'。必要に応じて、このクエリをより具体的にすることができます。

于 2013-08-12T15:49:42.337 に答える