C#实习生 2022-03-31 15:57 采纳率: 60%
浏览 69
已结题

sql判断某一列,加载列的和

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
       sum(case when D.RQ BETWEEN '2022-01-01' and '2022-01-31' then d.ryou end) LZY1, 
       sum(case when D.RQ BETWEEN '2022-01-01' and '2022-02-28' then d.ryou end) LZY2, 
       sum(case when D.RQ BETWEEN '2022-01-01' and '2022-03-31' then d.ryou end) LZY3, 
       sum(case when D.RQ BETWEEN '2022-01-01' and '2022-04-30' then d.ryou end) LZY4, 
       sum(case when D.RQ BETWEEN '2022-01-01' and '2022-05-31' then d.ryou end) LZY5, 
       sum(case when D.RQ BETWEEN '2022-01-01' and '2022-06-30' then d.ryou end) LZY6, 
       sum(case when D.RQ BETWEEN '2022-01-01' and '2022-07-31' then d.ryou end) LZY7, 
       sum(case when D.RQ BETWEEN '2022-01-01' and '2022-08-31' then d.ryou end) LZY8, 
       sum(case when D.RQ BETWEEN '2022-01-01' and '2022-09-30' then d.ryou end) LZY9, 
       sum(case when D.RQ BETWEEN '2022-01-01' and '2022-10-31' then d.ryou end) LZY10, 
       sum(case when D.RQ BETWEEN '2022-01-01' and '2022-11-30' then d.ryou end) LZY11, 
       sum(case when D.RQ BETWEEN '2022-01-01' and '2022-12-31' then d.ryou end) LZY12

运行结果及报错内容

img

我的解答思路和尝试过的方法

想用判断每月最后一天D.DYM的值是否为空来判断,应该是判断有一点问题

sum(case when D.RQ BETWEEN '2022-01-01'  and (case when((case when year(D.RQ) =2022 and month(D.RQ) = 1  then D.DYM end)) is null then null else '2022-01-31' end)then d.ryou end) LZY1,
sum(case when D.RQ BETWEEN '2022-01-01'  and (case when((case when year(D.RQ) =2022 and month(D.RQ) = 2  then D.DYM end)) is null then null else '2022-02-28' end)then d.ryou end) LZY2,
sum(case when D.RQ BETWEEN '2022-01-01'  and (case when((case when year(D.RQ) =2022 and month(D.RQ) = 3 then D.DYM end)) is null then null else '2022-03-31' end)then d.ryou end) LZY3,
sum(case when D.RQ BETWEEN '2022-01-01'  and (case when((case when year(D.RQ) =2022 and month(D.RQ) = 4 then D.DYM end)) is null then null else '2022-04-30' end)then d.ryou end) LZY4,
sum(case when D.RQ BETWEEN '2022-01-01'  and (case when((case when year(D.RQ) =2022 and month(D.RQ) = 5 then D.DYM end)) is null then null else '2022-05-31' end) then d.ryou end) LZY5,
sum(case when D.RQ BETWEEN '2022-01-01'  and (case when((case when year(D.RQ) =2022 and month(D.RQ) = 6 then D.DYM end)) is null then null else '2022-06-30' end) then d.ryou end) LZY6,
sum(case when D.RQ BETWEEN '2022-01-01'  and (case when((case when year(D.RQ) =2022 and month(D.RQ) = 7 then D.DYM end)) is null then null else '2022-07-31' end) then d.ryou end) LZY7,
sum(case when D.RQ BETWEEN '2022-01-01'  and (case when((case when year(D.RQ) =2022 and month(D.RQ) = 8 then D.DYM end)) is null then null else '2022-08-31' end) then d.ryou end) LZY8,
sum(case when D.RQ BETWEEN '2022-01-01'  and (case when((case when year(D.RQ) =2022 and month(D.RQ) = 9  then D.DYM end)) is null then null else '2022-09-30' end) then d.ryou end) LZY9,
sum(case when D.RQ BETWEEN '2022-01-01'  and (case when((case when year(D.RQ) =2022 and month(D.RQ) = 10  then D.DYM end)) is null then null else '2022-10-31' end) then d.ryou end) LZY10,
sum(case when D.RQ BETWEEN '2022-01-01'  and (case when((case when year(D.RQ) =2022 and month(D.RQ) = 11 then D.DYM end)) is null then null else '2022-11-30' end) then d.ryou end) LZY11,
sum(case when D.RQ BETWEEN '2022-01-01'  and (case when((case when year(D.RQ) =2022 and month(D.RQ) = 12 then D.DYM end)) is null then null else '2022-12-31' end) then d.ryou end) LZY12

我想要达到的结果

img

  • 写回答

3条回答

      报告相同问题?

      相关推荐 更多相似问题

      问题事件

      • 已结题 4月1日
      • 赞助了问题酬金5元 3月31日
      • 修改了问题 3月31日
      • 修改了问题 3月31日
      • 展开全部

      悬赏问题

      • ¥15 maftools不能library
      • ¥25 随机森林二分类预测不均匀
      • ¥15 求助!!c语言作业(新了解的
      • ¥15 starccm流域异常
      • ¥15 并行程序时间性能计算比较
      • ¥15 正点原子stm32实验55网络通信打开LWIP_NETCONN会报错
      • ¥15 Linux关于FTP服务器配置的问题(很基础)
      • ¥15 求助!python作业
      • ¥50 求一份TAP网卡驱动修改版
      • ¥15 计算机组成原理存储器的题目中关于地址线的疑问