SQL Server:无法使用SQL Query获取结果

时间:2015-08-27 04:49:01

标签: sql sql-server common-table-expression

请参阅下图以获取表格数据 - 表格名称:TempRecords。

enter image description here

  1. 列日期,输入值。
  2. 列上一个日期,应输出Value2。
  3. 要求是:查找日期列的上一个日期,并从同一个表中获取该上一个日期的值。

    我在SQL中有这样的表,我正在尝试使用Select from SelectCTE查询来实现此结果。 但我无法得到结果。

1 个答案:

答案 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)

Output