【发布时间】:2014-12-01 20:48:47
【问题描述】:
我有两张桌子。
- 日历:此表包含一年的日期。
- VisitorTable :此表包含访问的日期和人数。
在访问者表中几天没有记录。
有问题的日期范围是 2014 年 8 月 22 日至 2014 年 9 月 30 日。
日期以以下格式存储
“2014-08-21 00:00:00.000”和“2014-10-17 00:00:00.000”
在日历表与 VisitorTable 的左连接中,我没有得到给定日期范围的空值。结果如下所示
SQL 查询
SELECT VisitingDate ActivityDate
,COUNT(Visit) AS Visits
FROM CALENDAR A
LEFT JOIN VisitorTable b
ON B.VisitingDate= A.[DATE]
WHERE b.StoreName = 'ABC'
输出
活动日期访问次数
2014-10-16 00:00:00.000 63
2014-09-30 00:00:00.000 69
2014-08-22 00:00:00.000 51
日历表
SELECT *
FROM CALENDAR A
WHERE A.[DATE] BETWEEN '2014-08-22 00:00:00.000'
AND '2014-09-30 00:00:00.000'
输出
日期
2014-08-22 00:00:00.000
2014-08-23 00:00:00.000
2014-08-24 00:00:00.000
2014-08-25 00:00:00.000
2014-08-26 00:00:00.000
2014-08-27 00:00:00.000
.
.
.
2014-09-28 00:00:00.000
2014-09-29 00:00:00.000
2014-09-30 00:00:00.000
我正在绘制一个 grpah,因此我需要零访问的日期。
指针会有所帮助。
提前致谢。
【问题讨论】:
标签: sql-server sql-server-2005