请参阅下图以获取表格数据 - 表格名称:TempRecords。
要求是:查找日期列的上一个日期,并从同一个表中获取该上一个日期的值。
我在SQL中有这样的表,我正在尝试使用Select from Select
或CTE
查询来实现此结果。
但我无法得到结果。
答案 0 :(得分:3)
这是一个例子
CREATE TABLE #TEMP(CURRENTDATE DATE,VALUE INT)
INSERT INTO #TEMP VALUES('02/03/2010',NULL),
('05/04/2010',NULL),
('5/5/2010',10),
('5/6/2010',20),
('5/7/2010',30)
SELECT T2.CURRENTDATE,
T2.VALUE,
DATEADD(DAY, -1,T2.CURRENTDATE) AS PREVIOUSDATE,
T1.VALUE AS VALUE2
FROM #TEMP T2 LEFT JOIN #TEMP T1 ON T1.CURRENTDATE = DATEADD(DAY, -1,T2.CURRENTDATE)