sql语句优化case when(SQL case when 语句)

本文目录
SQL case when 语句
求总发卡数和总制卡数和发卡正式卡数、发卡临时卡数、发卡正式卡数,制卡临时卡数、制卡正式卡数(如Excel中所示)求详细SQL语句。
--创建测试表
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N’’) AND type in (N’U’))
DROP TABLE
GO
CREATE TABLE (
(20) NULL,
(50) NULL,
) ON
GO
--插入测试数据
INSERT INTO )
SELECT N’发卡’,N’正式卡’ UNION ALL
SELECT N’发卡’,N’正式卡’ UNION ALL
SELECT N’发卡’,N’临式卡’ UNION ALL
SELECT N’制卡’,N’临式卡’ UNION ALL
SELECT N’制卡’,N’正式卡’
GO
--静态拼接行转列(纠正简化一下)
SELECT 卡状态 + ’数’ AS 卡状态,
COUNT(1) AS 总数 ,
SUM(CASE WHEN 卡类型 = ’正式卡’ THEN 1
ELSE 0
END) AS 正式卡 ,
SUM(CASE WHEN 卡类型 = ’临式卡’ THEN 1
ELSE 0
END) AS 临式卡
FROM TB1
GROUP BY 卡状态
GO
--输出结果:
关于sql语句的case when
太长了,但是看到一个问题,case
when,要求返回的类型必须一直。
你看你的第一个case
when语句
(case
when
to_char(statistic_date-payrefdate》=0)
and
to_char(statistic_date-payrefdate《90)
then
sum(a.planfee-nvl(c.payreffee,0))
else
’’
end)
then后边返回的是一个求和,那么类型肯定是数字,而else分支,其他情况下居然返回了空字符串,字符型。这两个不一致,首先就错了。你先改了这些吧。
sql语句优化的问题select优化
case when (select count(1) from latreebak v, laagentgrade u, laagentgrade w
where u.gradeid 》w.gradeid and u.gradecode=v.agentlastgrade and w.gradecode =v.agentgrade and v.agentcode =a.agentcode)》0
then ’降级’ else ’未降级’ end

更多文章:
phonegap框架(phonegap框架在xcode开发金融的项目 原生的好还是phonegap框架好为啥)
2026年2月28日 15:30
vlookup函数回车后还是公式(为什么用vlookup输入公式后,打出来的仍然是公式呢)
2026年1月10日 16:00
left join 和join(请教JOIN LEFT JOIN ALL JOIN 等的区别和联系)
2025年8月7日 17:45
stimulate的中文意思(motivate 和 stimulate 的区别和搭配用法哪个跟interest、desire搭配)
2026年6月28日 05:30
interaction analysis(interaction analysis是什么意思)
2026年7月9日 22:30
springfestival六年级作文(六年级关于春节的英语作文)
2025年6月8日 20:00
张店区北京路附近一寸照片照相馆位置在哪?上海有哪些比较好的摄影培训学校
2026年9月14日 15:30
感性无功和容性无功的区别(如何理解感性无功功率和容性无功功率)
2025年7月20日 09:30
js工作中编写代码的规范(js代码规范问题 JavaScript判断语句规范)
2025年6月10日 09:45
conduct讲解(ACCA高频考点讲解:Money laundering)
2026年5月21日 08:00
java在线编译环境(关于java环境配置问题,急!!!在线等)
2025年10月21日 09:45
单元测试类型(软件测试里面的组装测试和单元测试是什么软件测试都有哪些重要的分布讲下什么意思)
2026年7月28日 12:45
sqlyog和sql server的区别(sqlyogultimate和sqlyog的区别)
2025年10月15日 15:15









