我正在使用SQL Server 2005并试图以某些格式获取某些统计数据,因为它被加载到不应该更改的图形中。SQL统计谜语
图表加入日期,类型和总和。在我的案例中输入域名,总和是这个网站每天售出多少。
现在我有两个数据库表Users
和Sales
。 Users
有userID
和registrationSite
列。 Sales
得到saleID
,userID
和sum
。这是查询我得到我的统计信息有一个问题的所有细节。
即使在此日期没有出售此域以使图工作,我应该在选择中获得“0”值。有没有办法做到这一点?
select
sum(s.sum) sum,u.registrationSite,
dateadd(dd, datediff(dd, 0, s.date), 0) date
from Users u
right join Sales s on u.userid=s.userid
where
s.date > dateadd(mm, -1, getdate())
group by
registrationSite,dateadd(dd,datediff(dd,0,s.date),0)
order by
dateadd(dd, datediff(dd, 0, s.date), 0)
你需要一个外部联接到一个日期表(或数表,你作为一个日期表用)填写缺少的日期。 – 2011-03-15 09:39:01
@马丁,你是什么意思?你的意思是创建日期表和外部连接到它的“on子句”? – eugeneK 2011-03-15 09:41:59
我相信马丁意味着将你的'right join'改为'full outer join'。 – 2011-03-15 10:10:59