MSSQL题目:
条件是有多个店铺比如:001,002,003
我需要查询各个店铺的某天开卡的人数
如果只有001在这天有开卡人的话
查询应该这样显示:
001 32 20080706
002 0 20080706
003 0 20080706
32是总共的开卡人数 ,如果为0的的要显示出来为0.
vIEW_MEMBERINFO_STAT 视图包含所有的店铺以及开卡信息;
bs_shop 表包含了所有店铺ID;
实现:
-------------------------------------------------------------------------
select bs.COMPANYNO,bs.shopid,nvl(mm.count,0) d
from (
select a.COMPANYNO,a.shopid,count(a.SHOPID) count
from vIEW_MEMBERINFO_STAT a
where to_char(a.begindate,'YYYY-MM-DD') <='200866' and a.state ='1'
group by a.COMPANYNO,a.shopid
) mm right join bs_shop bs on (mm.SHOPID = bs.SHOPID )
order by bs.shopid
上述SQL文右连接到所有的店铺ID表。可以吧当天开卡数为0的记录也罗列出来。
阅读(802) | 评论(0) | 转发(0) |