SQL 服务器:无法使用 SQL 查询获得结果
SQL Server : Not able to get results using SQL Query
请参阅下图了解 table 数据 - Table 名称:TempRecords。
- 已输入列日期、值。
- Columns Previous Date, Value2 应该被输出。
要求是:查找日期列的前一个日期并从相同的 table.
中获取前一个日期的值
我在 SQL 中有这样的 table,我正在尝试使用 Select from Select
或 CTE
查询来获得此结果。
但是我无法得到结果。
这是一个例子
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)
请参阅下图了解 table 数据 - Table 名称:TempRecords。
- 已输入列日期、值。
- Columns Previous Date, Value2 应该被输出。
要求是:查找日期列的前一个日期并从相同的 table.
中获取前一个日期的值我在 SQL 中有这样的 table,我正在尝试使用 Select from Select
或 CTE
查询来获得此结果。
但是我无法得到结果。
这是一个例子
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)