2013-02-28 67 views
1

我有以下表(和實施例的值):如何加入多表和SUM值?

**table1** 
data_id (1, 2) 

**table2:** 
data_id (1, 2, 1, 2) 
month(01, 01, 02, 02) 
data(10, 5, 11, 2) 

**table3** 
data_id (1, 2, 1, 2) 
month(01, 01, 02, 02) 
data(10, 5, 11, 2) 

**table4** 
data_id (1, 2, 1, 2) 
month(01, 01, 02, 02) 
data(10, 5, 11, 2) 

所有表由 「data_id」 連接。我需要SUM數據字段和GROUP BY月份。 表結果如下:

**result** 
month(01, 02) 
table2.data(15, 13) 
table3.data(15, 13) 
table4.data(15, 13) 

那是什麼得到結果表的SQL語句?

+0

是的,我嘗試加入,但SUM的結果不正確 – kazim 2013-02-28 05:46:32

回答

2

嘗試此查詢 編輯

SELECT t2.month, sum(t2.data), sum(t3.data), sum(t4.data) 
FROM table1 t1, table2 t2, table3 t3, table4 t4 
WHERE t1.data_id = t2.data_id AND t1.data_id = t3.data_id AND t1.data_id = t4.data_id 
AND t2.month = t3.month AND t3.month = t4.month 
GROUP BY t2.month; 

它總結了數據字段一個月的價值明智

FIDDLE

+0

沒有行爲導致您的查詢中創建6然後求和數據值(其應該創建3行然後求和結果@Meherzad – kazim 2013-02-28 06:02:27

+0

檢查編輯... – Meherzad 2013-02-28 06:19:16

+0

相同的結果:(@Meherzad – kazim 2013-02-28 06:32:02