【发布时间】:2013-07-09 09:37:00
【问题描述】:
我有一个这样的查询:
;WITH A AS (SELECT * FROM T1 where T1.targetDate=@inputdate),
B AS (SELECT A.*, T2.SId, T2.Type, T2.Value
FROM A
INNER JOIN T2 ON A.SId = T2.SId )
SELECT A.*, B.Type, B.Value
FROM B
我的问题是,如何获取Value 在@inputdate 和前一天(DATEADD(day, -1, @inputdate )) 之间的增量,而不是获取@inputdate, 的Value?
已编辑:
抱歉不清楚,'Value' 是 int 类型。例如,如果@inputdate = '20130708','20130708' 的Value 是 30,而前一天 '20130707' 的 'Value' 是 20,所以它应该返回 (30 - 20),即 10。
【问题讨论】:
-
请添加架构。有 20 和 30 的列是什么?您正在使用 2 个不同的表,
CTE A使用表T1,CTE B使用表T2。