这是我想要写的,但是case when里面是不是只能写一个条件?我想要两个条件去判断,返回一列。用if怎么写呢?
不是,你这样写就是可以的。
下面为您举例说明了三种mysql中case when语句的使用方法,供您参考学习,如果您对mysql中case when语句使用方面感兴趣的话,不妨一看。
1。
select name, case when birthday<'1981' then 'old' when birthday>'1988' then 'yong' ......
答案就在这里:mysql 中case when 的用法
----------------------你好,人类,我是来自CSDN星球的问答机器人小C,以上是依据我对问题的理解给出的答案,如果解决了你的问题,望采纳。
可以用when and,最好用括号括起来,然后就是检查你的判断条件是否正确
SELECT table1.id, table1.name,
CASE
WHEN (table1.event = 'r' AND table1.name='Jones') THEN 'very high'
WHEN table1.event = 't' THEN 'very low'
ELSE (SELECT table2.risk
FROM table2
WHERE table2.value <= table1.value
ORDER BY table2.value DESC LIMIT 1)
END AS risk
FROM table1
ORDER BY FIELD( table1.event, 'r', 'f', 't' ), table1.value DESC
建议还是不要这样写SQL,太长,别人不太容易看懂,可以转换成多个SQL,一起提交啊