[英]SQL (DB2) - Return zero if no records found
如何更改此查询以在没有找到行的每个区域中显示零?
proc sql;
create table test as
select count(acct_num) as total_count,
region
from
table1
group by region
;
run;
理想情况下,我希望看到以下内容:
Region1 500
Region2 0
Region3 20
Region4 0
假设您有想要的所有区域的表,则可以使用left join
:
select r.region, count(t.acct_num) as total_count
from regions r left join
table1 t
on r.region = t.region
group by r.region;
如果没有这样的表,则可以通过以下操作动态创建一个表:
select r.region, count(t.acct_num) as total_count
from (select 'region1' as region from sysibm.sysdummy1 union all
select 'region2' from sysibm.sysdummy1 union all
. . .
) r left join
table1 t
on r.region = t.region
group by r.region;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.