SQL Server查询:如何将一个SELECT与另一个SELECT相加?

时间:2013-02-25 09:20:39

标签: sql sql-server-2008

我的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) 

1 个答案:

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