我的问题与这两个问题有关:
- https://stackoverflow.com/questions/17529860/how-to-list-all-dates-between-two-dates/27319120
- https://stackoverflow.com/questions/1378593/get-a-list-of-dates-between-two-dates-using-a-function
但是在我的情况下,我有一个带有 ID、StartDate、EndDate 列的表,我想应用相同的方法(但我想使用整个表而不是 2 天)。
在进入函数之前,我想看看这是否可以通过选择和日期维度表来实现。
基本上我想把它扩展到整个表:
SELECT
t.Id
,dd.[Date]
FROM dbo.DateDimension dd
,dbo.T1 t
WHERE
t.Id = 957
and dd.Date>=t.StartDate and dd.Date <= t.EndDate
我在这里有示例数据 + 所需输出(选择语句):
www.sqlfiddle.com /#!18/0e389/2