2012-08-07 92 views
2

我正在學習SQL,因爲我在一個項目上工作,並希望得到以下幫助。我也是相當新的stackoverflow,所以我道歉,如果我的格式是關閉的:SQL在同一張表上的多個連接和總和

我有一個表的列日期,組,人,金額。對於我每天都要爲每個人提供的數量和他們所在的組的條目,所以一行看起來像:

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

我想寫將返回所有的總和聲明兩個不同的日子。

我:

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 

我沒有得到任何錯誤,但兩個和來自不同的我所得到的,如果我只是做

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

,並期待在有問題的日子。

+0

看來你是使用MS SQL Server中,更新您的標記,這樣的問題是更容易找到別人 – Yaroslav 2012-08-07 19:43:25

回答

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 
+0

完美,謝謝! – jasonm 2012-08-07 19:56:41