6
我有一个MySQL查询,我想它具有伪柱返回值是基于断:MySQL的:根据条件
- 如果columnW不等于0,则它应该是1,但
- 如果columnX不等于0,则它应该是2,但
- 如果columnY不等于0,则它应该是3 BUT
- 如果columnZ不等于0,则它应该是4
希望这是有道理的。我的SQL不够好,无法把我的头围绕在这里。
我有一个MySQL查询,我想它具有伪柱返回值是基于断:MySQL的:根据条件
希望这是有道理的。我的SQL不够好,无法把我的头围绕在这里。
尝试使用case expression:
SELECT CASE WHEN columnZ <> 0 THEN 4
WHEN columnY <> 0 THEN 3
WHEN columnX <> 0 THEN 2
WHEN columnW <> 0 THEN 1
ELSE 0
END AS your_alias_name
FROM ...
您可以使用CASE ... WHEN来执行此操作。
见
mysql> SELECT CASE 1 WHEN 1 THEN 'one'
-> WHEN 2 THEN 'two' ELSE 'more' END;
-> 'one'
mysql> SELECT CASE WHEN 1>0 THEN 'true' ELSE 'false' END;
-> 'true'
mysql> SELECT CASE BINARY 'B'
-> WHEN 'a' THEN 1 WHEN 'b' THEN 2 END;
-> NULL
好吧,我有知道的。感谢您对语法的帮助。 – 2010-02-28 20:25:21
是否有一个函数可以将选定的值放入列表中,并使用列值作为下标从列表中进行选择,例如: SELECT xxxx(果实索引字段名称,'苹果','橙色','木瓜'...)作为FruitName,... – 2012-12-18 02:22:54