0

SQL Server クエリに問題があります。助けていただければ幸いです。

主な選択は、日付と体重の合計を出力する必要があります

ある選択を別の選択に合計するにはどうすればよいですか? データは 1 つのテーブルから取得され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) 
4

1 に答える 1

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
于 2013-02-25T09:27:14.260 に答える