想实现下列SQL条件判断

A栏位str1~str10 B栏位AA~ZZ C栏位为不同数值 1、A栏位为(str1,str2,str3) 只抓取B栏位为'AA' 的栏位C加总和 条件2、A栏位为(str4,str5,str6) 只抓取B栏位为'BB' 的值栏位C总和  (((要如何下筛选语法呢? :SQL SERVER

SQL cheng1217 发布于 2022-12-7 08:45
1min目标场景问卷 立即参与
回答问题
悬赏:0 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
3
yzm339714Lv6中级互助
发布于2022-12-7 08:49(编辑于 2022-12-7 09:03)

sum(case when  A in ('str1','str2','str3') and b = 'AA' then c else 0 end) 'c汇总1',

sum(case when  A in ('str4','str5','str6') and b = 'BB' then c else 0 end)  'c汇总2'

  • cheng1217 cheng1217(提问者) 测试了一下 上述只有单一输出C并没有将C汇总SUM
    2022-12-07 09:01 
  • yzm339714 yzm339714 回复 cheng1217(提问者) 修改了下,忘了写sum了
    2022-12-07 09:04 
  • cheng1217 cheng1217(提问者) 谢谢回答
    2022-12-07 09:31 
  • cheng1217 cheng1217(提问者) 请问这两个条件要怎么合并呢 SUM反而带出两倍数值
    2022-12-07 09:38 
  • yzm339714 yzm339714 回复 cheng1217(提问者) sum(case when (A in (\'str4\',\'str5\',\'str6\') and b = \'BB\') or (A in (\'str4\',\'str5\',\'str6\') and b = \'BB\') then c else 0 end) \'c汇总2\'
    2022-12-07 09:40 
最佳回答
1
BrmiseLv6见习互助
发布于2022-12-7 09:15

select  

sum(case when  name in ('str1','str2','str3') and type = 'AA' then value else 0 end )'c汇总1',

sum(case when  name in ('str4','str5','str6') and type = 'BB' then value else 0 end ) 'c汇总2'

from NB_Cow

image.png

  • 3关注人数
  • 381浏览人数
  • 最后回答于:2022-12-7 09:15
    请选择关闭问题的原因
    确定 取消
    返回顶部