db2 "
select a,
(case when b in ('3',‘4’) then '1' else '0' end)d,
count(1) as c
from t
group by a,(case when b in ('3',‘4’) then '1' else '0' end)d
"
报错,查了ms是因为case when 语句后面不可以跟 新字段名(即d)
但是这段会被嵌套在一段sql中必须要别名,这种情况该如何处理?
谢谢大家了
...全文
4322打赏收藏
db2 case when
db2 " select a, (case when b in ('3',‘4’) then '1' else '0' end)d, count(1) as c from t group by a,(case when b in ('3',‘4’) then '1' else '0' end)d " 报错,查了ms是因为case when 语句后面不可以跟 新字段名(即d) 但是这段会被嵌套在一段sql中必须要别名,这种情况该如何处理? 谢谢大家了
可能是group by后面的case不需要指定新字段名,或者把语句写成这样:
select a,d,count(1) as c from (select a,case when b in ('3','4’) then '1' else '0' end d from t) t1 group by a,d