SQL语句中如何使用含有ifelse判断语句

SQL语句中如何使用含有ifelse判断语句,第1张

if else语句只有在存储过程,触发器之类的才有,今天突然在sql上当满足某种条件上要取不同的字段值,一开始直接网上查找相关资料,哇,sql上不支持!!!

不过可以使用case when语句解决,各种数据库都支持。

语法:

case when 条件1 then 结果1 when 条件2 then 结果2 else 结果N end1

可以有任意多个条件,如果没有默认的结果,最后的else也可以不写,

select case when col1 > 1 then col2 else col3 end from XXXtable

SELECT 

 COUNT(IF(rchannel_type=1,1,0)) AS wangzhan,

 COUNT(IF(rchannel_type=2,1,0)) baozhi,

 COUNT(IF(rchannel_type=3,1,0)) zazhi,

 SUM(CASE WHEN rchannel_type=1 AND  rcheck_status=6  THEN  1  ELSE  0 END) AS wangzhanluyong,

 (CASE WHEN rchannel_type=1 THEN sum(rfraction) ELSE 0 END) AS wangzhanfenshu,

 sum(CASE WHEN rchannel_type=2 AND  rcheck_status=6  THEN  1  ELSE  0 END) AS baozhiluyong,

 (CASE WHEN rchannel_type=2 THEN sum(rfraction) ELSE 0 END) AS baozhifenshu,

 sum(CASE WHEN rchannel_type=3 AND  rcheck_status=6  THEN  1  ELSE  0 END) AS zazhiluyong,(

 CASE WHEN rchannel_type=3 THEN sum(rfraction) ELSE 0 END) AS zazhifenshu

FROM 

 tougao_record r LEFT JOIN tougao t 

  ON rtougao_id = tid 

WHERE 

 raccept_company_id=100 AND tcreate_at>='%2014-7-1%'

GROUP  BY

    rchannel_type

sql if else 语句 有

IF ELSE 语句

IF ELSE 是最基本的编程语句结构之一几乎每一种编程语言都支持这种结构而

它在用于对从数据库返回的数据进行检查是非常有用的TRANSACT-SQL 使用IF ELSE

的例子如下

语法

if (condition)

begin

(statement block)

end

else if (condition)

begin

statement block)

end

else

begin

(statement block)

end

注意当所指定的条件为真时对应的BEGIN END 语句块就会被执行同时

你也应该注意将每一个语句缩进一定量的空格是一种很好的编程习惯它可以极大的提向

你的程序的易读性和由于易读性不好所导致的错误

以上就是关于SQL语句中如何使用含有ifelse判断语句全部的内容,包括:SQL语句中如何使用含有ifelse判断语句、关于MYSQL数据库中用SELECT CASE THEN ELSE END 这个方法的问题、sql 里有if else 吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9468970.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存