我有一个具有不同值的列:
1
2
4
8
我想根据这些值在同一个表中创建一个新列。
例如,如果值为1 or 4
,我希望在OK
和NOT OK
中显示相应的行。
像:
1 OK
2 NOT OK
4 OK
8 NOT OK
我认为我们应该使用if
条件,但是如何使用表格中的列值同时创建?
答案 0 :(得分:1)
既然你说“我想要展示”,我会给你一些If Snippets
这就是它的工作原理,仅供参考:
SELECT IF(field= '1', 'OK', 'NOT OK') as Myfield
FROM MyTable
或
SELECT IF(field= '1', 'OK', IF(field= '4', 'OK', 'NOT OK')) as Myfield
FROM MyTable
;So here the result will be `OK` if there is any 1, 4 or else `NOT OK`
Here是关于If条件的MySQL文档
答案 1 :(得分:1)
您想在表中新列还是只在SELECT输出中?如果需要新表列,请添加它,然后运行UPDATE查询。
UPDATE `mytable`
SET `result` = CASE
WHEN id in (1,4) THEN 'ok'
ELSE 'not ok' END;
答案 2 :(得分:0)