pdqn.net
当前位置:首页 >> CAsE whEn 嵌套 >>

CAsE whEn 嵌套

逻辑写的有问题 when 后面是一个判断表达式 然后是then 结果 你可以参考一下我写的这个逻辑 SELECT CASE WHEN (CASE WHEN 2>1 THEN 1 ELSE 0 END)=1 THEN (CASE WHEN (CASE WHEN 2>1 THEN 1 ELSE 0 END)1 THEN 1 ELSE 0 END) END

这样是不可以的,你的表a里有多条数据的话(假如有三条),那么select 1 from table a,查出来就是三个一,这个时候会报错的,子查询返回的值不止一个。当子查询跟随在 =、!=、= 之后,或子查询用作表达式时,这种情况是不允许的。

可以用OR连接所有结果相同的条件呀,如: case when abs(sum(a.ycyl)+sum(a.ycsl)-sum(b.ycyl)-sum(b.ycsl))12 then '上升' else '下降' end xm 把其他的条件加进来就可以了

SELECT (Case when girl='a' then A.oper_name_1 else B.oper_name_1) AS oper_name_1,(Case when girl='a' then A.oper_name_2 else B.oper_name_2) AS oper_name_2,FROM A--你试试,应该是可以的

--自己搜索一下sql case when 的用法吧 ,里面的例子自己看 很容易懂的

疑问点:你整个的意图是什么?单单两张表的两个字段 ,T_A 表的 a 字段 在 T_B 表中 b 字段中是否存在?可以具体一些么? 至少 你可以说明 你想实现的思维意图是什么?

可以的,而且使用频率还比较高。 例:字段:性别 以1和2,分别代表男和女 xb 1 2 1 那么检索的时候可以写: select case when xb = '1' then‘男’when '2' then '女' else '' end

可以,我之前模拟IIS通讯就用到了case when嵌套,编译通过,硬件上测试也没问题

可以使用类似这样的语法试试(不过似乎不符合你的需求): ORDER BY case xxx when 3 then x else y end

直接加在语句最后就行了。 UPDATE `member` SET score = (CASE WHEN score IS NOT NULL THEN score = 0 ELSE score = 1 END) where id =1; mysql数据库中CASE WHEN语句。 case when语句,用于计算条件列表并返回多个可能结果表达式之一。 CASE ...

网站首页 | 网站地图
All rights reserved Powered by www.pdqn.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com