新人第一次发帖,有关sql union
目前有一张人员表,要求查询后按种类进行统计,第一列是种类名,第二列是人数,第三列是每人的姓名。
我写了如下语句:
select xm as 种类名称,count (xm) as 人数,xm as 简要说明
from ryxx
where 1=0
group by xm
union
select distinct('种类一'),
(select nvl(count(distinct(xm)),0) from ryxx where 条件一),
(select replace(WMSYS.WM_CONCAT(distinct(xm)), ',', '、')from ryxx where 条件一)
from ryxx
union
select distinct('种类二'),
(select nvl(count(xm),0) from ryxx where 条件二),
(select replace(WMSYS.WM_CONCAT(xm), ',', '、')from ryxx where 条件二)
from ryxx
ryxx是表名(人员信息),xm是字段名(姓名)。
现在的问题是,如果按条件一或条件二过滤后没有结果,那么执行后的记录中就不会出现
“种类一 0 NULL”的记录,如何修改才能让查询无记录后也能显示?