繁体   English   中英

SQL(DB2)-如果找不到记录,则返回零

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM