TSQL-获取数据仓库维度中日期之间的值



我有一个数据仓库的开始,它包含(以及其他表(

  • 日期表,包含200年的日期,因此无需建立一个";动态的";日期表
  • dbo。Dim_Items(见下文(
生效日期2021-12-11 05:34:09.00>td>9999-12-31 00:00:00.0000
项目编号 QOH到期日期IsCurrentRecord
372620 241
372620 11 2021-12-09 05:34:11.000 0
372620 9 2021-12-07 05:34:0.000 2021-22-09 05:34:11.000

DBFIDDLE

DECLARE @START_DATE date,
@END_DATE date
SET @START_DATE = '20211207'
SET @END_DATE = GETDATE()   -- '20211213'
SELECT
TheDate,
I.Itemnumber,
I.QOH
FROM dbo.Dim_Calendar CAL
LEFT JOIN dbo.Dim_Items I On CAL.TheDate BETWEEN CAST(I.EffectiveDate as DATE) 
AND I.ExpirationDate
AND I.Itemnumber = 372620
WHERE CAL.TheDate >= @START_DATE
AND CAL.TheDate <= @END_DATE
ORDER BY CAL.TheDate,
I.ItemNumber

最新更新