2

私はプロジェクトに取り組んでいるときにSQLをその場で学んでおり、次のことについて助けていただければ幸いです。私はstackoverflowにもかなり慣れていないので、フォーマットがオフになっている場合はお詫び申し上げます。

日付、グループ、人、金額の列を持つテーブルがあります。毎日、金額とそのグループを含む各人のエントリがあるため、1 行は次のようになります。

  Date    Group   Person   Amount
8/7/2012     A     Steve     10

2 つの異なる日のすべてのグループの合計を返すステートメントを作成しようとしています。

私は持っている:

Select t1.group,sum(t1.amount),sum(t2.amount)
  From table t1, table t2
 Where t1.group=t2.group AND t1.date=current_date-1 AND t2.date=current_date-2
 Group by t1.group

エラーは発生していませんが、2つの合計は、単に実行した場合とは異なります

Select date,sum(amount) From table Group by date

問題の日を見てください。

4

1 に答える 1

2

2 つのテーブル間で結合するのはなぜですか?

私はあなたが欲しいと思います:

Select t.group,
       sum(case when t.date = current_date - 1 then t.amount end),
       sum(case when t.date = current_date - 2 then t.amount end)
From table t
Group by t.group 
于 2012-08-07T19:41:44.057 に答える