SSRS 图:在 SQL 查询中检索不同日期的值
SSRS graph: Retrieve values from different dates in SQL query
我正在使用以下查询从 4 个不同的日期检索快照值:-1 天(最新)、-2 天、-3 天和 -40 天(尚未实施)。
SELECT [SnapshotDate]
,[SnapshotKey]
,[info1]
,[info2]
,[info3]
FROM [Database].[dbo].[Values]
WHERE [SnapshotDate] >= DATEADD(day,-3, GETDATE())
AND [SnapshotKey] = 'Some text here'
结果如下图:
首先查询不太正确,因为它显示了 4 个值,此时应该只显示 3 个。其次,我想展示 40 天前的最后一张快照,如图所示。
我尝试了几个不同的查询,但还没有弄清楚如何正确地执行此操作。
[SnapshotKey] = SELECT DATEADD(day,-40,getdate())
上面的查询在理论上给了我正确的答案。但是,当我在查询中使用它时,没有结果。我认为这可能是由于没有日期转换或我在查询中使用 "day" 造成的。我不确定。
有什么建议吗?
编辑:
我也尝试过使用以下方法但没有成功(没有结果):
CONVERT(date, [SnapshotDate]) = CONVERT(date, DATEADD(day,-40, GETDATE()))
我不确定您的日期值是多少,但我猜这份报告是 运行 5 月 2 日。
如果这是正确的,那么您需要更改范围以排除日期差异为零的地方。我个人在这种情况下使用 DATEDIFF
,因为它对我来说更容易形象化。
尝试将 where 子句更改为类似这样的内容。
WHERE (DATEDIFF(day, getdate(),[SnapshotDate]) BETWEEN -3 AND -1
OR DATEDIFF(day, getdate(), [SnapshotDate]) = -40)
AND [SnapshotKey] = 'Some text here'
我正在使用以下查询从 4 个不同的日期检索快照值:-1 天(最新)、-2 天、-3 天和 -40 天(尚未实施)。
SELECT [SnapshotDate]
,[SnapshotKey]
,[info1]
,[info2]
,[info3]
FROM [Database].[dbo].[Values]
WHERE [SnapshotDate] >= DATEADD(day,-3, GETDATE())
AND [SnapshotKey] = 'Some text here'
结果如下图:
首先查询不太正确,因为它显示了 4 个值,此时应该只显示 3 个。其次,我想展示 40 天前的最后一张快照,如图所示。
我尝试了几个不同的查询,但还没有弄清楚如何正确地执行此操作。
[SnapshotKey] = SELECT DATEADD(day,-40,getdate())
上面的查询在理论上给了我正确的答案。但是,当我在查询中使用它时,没有结果。我认为这可能是由于没有日期转换或我在查询中使用 "day" 造成的。我不确定。
有什么建议吗?
编辑:
我也尝试过使用以下方法但没有成功(没有结果):
CONVERT(date, [SnapshotDate]) = CONVERT(date, DATEADD(day,-40, GETDATE()))
我不确定您的日期值是多少,但我猜这份报告是 运行 5 月 2 日。
如果这是正确的,那么您需要更改范围以排除日期差异为零的地方。我个人在这种情况下使用 DATEDIFF
,因为它对我来说更容易形象化。
尝试将 where 子句更改为类似这样的内容。
WHERE (DATEDIFF(day, getdate(),[SnapshotDate]) BETWEEN -3 AND -1
OR DATEDIFF(day, getdate(), [SnapshotDate]) = -40)
AND [SnapshotKey] = 'Some text here'