2013-02-28 54 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