我的SQL Server查询有问题,希望您能帮助我
主要选择必须输出日期和重量之和
如何将一个选择加到另一个?数据来自一个表Tbreport
,条件是 - 来衡量具体日期和上一个日期的重量(具体日期减去1天)
例如:
CONCRETE DATE WEIGHT
Jan 1 100
Jan 2 150
Jan 3 210
PREVIOUS DATE WEIGHT
Jan 1 100
Jan 2 250 (Jan 1 + Jan 2)
Jan 3 460 (Jan 1 + Jan 2 + Jan 3)
在实际表中,我的格式为秒。例如:1358892000秒是2013年1月23日0:00:00和1358978400是2013年1月23日23:59:00。每次都是自重
查询:
SELECT CONVERT(varchar, DATEADD(s, TBreport.date, 25568), 102) AS DATE,
SUM(TBreport.weight)
+
(
SELECT SUM(TBreport.weight) AS WEIGHT
FROM TBreport INNER JOIN TBway ON TBreport.id_way = TBway.id
WHERE (SUBSTRING(TBway.name, 5, 8) LIKE 'to warehouse')
AND ... ???
GROUP BY CONVERT(varchar, DATEADD(s, TBreport.date, 25568), 102)
)
FROM TBreport INNER JOIN TBway ON TBreport.id_way = TBway.id
WHERE (SUBSTRING(TBway.name, 5, 8) LIKE 'to warehouse')
GROUP BY CONVERT(varchar, DATEADD(s, TBreport.date, 25568), 102)
答案 0 :(得分:1)
我假设date
TBreport
是唯一的
SELECT this.date, SUM(upToThis.weight)
FROM TBreport this
INNER JOIN TBreport upToThis ON upToThis.date <= this.date
GROUP BY this.date