【发布时间】:2014-03-09 15:42:01
【问题描述】:
我有一个离散的时间事件,我试图加入一个连续的日历。
例如,假设我有一个日期日历,如下所示:
日期
2014 年 1 月 1 日
2014 年 1 月 2 日
2014 年 1 月 3 日
...
2014 年 12 月 31 日
现在假设您有一个离散事件,例如销售,您想在日历中标记。在此示例中,销售时间为 3 月 3 日至 3 月 7 日。
因此输出如下所示:
日期、销售标志
...
2014 年 3 月 2 日,错误
2014 年 3 月 3 日,是的
2014 年 3 月 4 日,是的
...
2014 年 3 月 7 日,是的
2014 年 3 月 8 日,错误
... 甚至能够只返回销售中的行将是一个开始,即:
日期
2014 年 3 月 3 日
2014 年 3 月 4 日
...
2014 年 3 月 7 日
到目前为止,我认为我需要在 SQL 中使用右外连接来实现这一点。但是,我不确定如何加入一系列值。这是我到目前为止所拥有的:
(注意,由于公司政策规定我们可以使用哪些数据库,因此使用 Access。)
SELECT Sales_Flag
FROM Sales
RIGHT JOIN Calendar
ON Sales.Date = Calendar.[Start Date]
WHERE Calendar.Date BETWEEN Sales.[Start Date] and Sales.[End Date];
但是,我迄今为止的所有尝试都导致我只有开始日期的一行,我完全理解 - 最终我加入了一个值,因此得到一个单行。
因此,我是在朝着正确的方向前进,还是在完全错误的灌木丛中吠叫?
【问题讨论】:
标签: sql date ms-access time-series