我有一列具有不同的值:
1
2
4
8
我想根据这些值在同一个表中创建一个新列。
例如,如果值为1 or 4
,我想在其余部分显示相应的OK
行NOT OK
。
喜欢:
1 OK
2 NOT OK
4 OK
8 NOT OK
我觉得我们应该使用一个if
条件,但是如何与表中的列值同时创建呢?
您想要在表中添加新列还是仅在 SELECT 输出中添加?如果您需要一个新的表列,请添加它,然后运行 UPDATE 查询。
UPDATE `mytable`
SET `result` = CASE
WHEN id in (1,4) THEN 'ok'
ELSE 'not ok' END;
既然你说“我想展示”,我会给你一些 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`
这是有关 If 条件的 MySQL 文档