I have two table. 1st table => member {member_id, name, active} 2nd table => savings {savings_id, member_id, month, year, amount, type, paid}
Member Table
+-----------+--------+--------+
| member_id | name | active |
+-----------+--------+--------+
| 105 | Andri | 1 |
| 106 | Steve | 1 |
| 110 | Soraya | 1 |
| 111 | Eva | 1 |
| 112 | Sonia | 1 |
+-----------+--------+--------+
Savings Table
+------------+-----------+-------+------+--------+------+------+
| savings_id | member_id | month | year | amount | type | paid |
+------------+-----------+-------+------+--------+------+------+
| 1 | 120 | NULL | NULL | 150000 | 1 | 1 |
| 14 | 105 | 7 | 2014 | 80000 | 2 | 1 |
| 15 | 105 | 7 | 2014 | 25000 | 3 | 1 |
| 16 | 105 | 7 | 2014 | 60000 | 4 | 1 |
| 17 | 105 | 7 | 2014 | 100000 | 5 | 1 |
| 18 | 106 | 7 | 2014 | 80000 | 2 | 1 |
| 19 | 106 | 7 | 2014 | 25000 | 3 | 1 |
| 20 | 106 | 7 | 2014 | 60000 | 4 | 1 |
| 21 | 106 | 7 | 2014 | 100000 | 5 | 1 |
| 31 | 110 | 7 | 2014 | 25000 | 3 | 1 |
| 32 | 110 | 7 | 2014 | 60000 | 4 | 1 |
| 33 | 110 | 7 | 2014 | 100000 | 5 | 1 |
| 34 | 111 | 7 | 2014 | 80000 | 2 | 1 |
| 35 | 111 | 7 | 2014 | 25000 | 3 | 1 |
| 36 | 111 | 7 | 2014 | 60000 | 4 | 1 |
| 37 | 111 | 7 | 2014 | 100000 | 5 | 1 |
| 38 | 112 | 7 | 2014 | 80000 | 2 | 1 |
| 39 | 112 | 7 | 2014 | 25000 | 3 | 1 |
| 40 | 112 | 7 | 2014 | 60000 | 4 | 1 |
| 41 | 112 | 7 | 2014 | 100000 | 5 | 1 |
| 85 | 105 | 7 | 2015 | 80000 | 2 | 1 |
| 86 | 105 | 7 | 2015 | 25000 | 3 | 1 |
| 87 | 105 | 7 | 2015 | 60000 | 4 | 1 |
| 88 | 105 | 7 | 2015 | 100000 | 5 | 1 |
| 89 | 106 | 7 | 2015 | 80000 | 2 | |
| 90 | 106 | 7 | 2015 | 25000 | 3 | |
| 91 | 106 | 7 | 2015 | 60000 | 4 | |
| 92 | 106 | 7 | 2015 | 100000 | 5 | |
| 101 | 110 | 7 | 2015 | 80000 | 2 | |
| 102 | 110 | 7 | 2015 | 25000 | 3 | |
| 103 | 110 | 7 | 2015 | 60000 | 4 | |
| 104 | 110 | 7 | 2015 | 100000 | 5 | |
| 105 | 111 | 7 | 2015 | 80000 | 2 | 1 |
| 106 | 111 | 7 | 2015 | 25000 | 3 | 1 |
| 107 | 111 | 7 | 2015 | 60000 | 4 | 1 |
| 108 | 111 | 7 | 2015 | 100000 | 5 | 1 |
| 109 | 112 | 7 | 2015 | 80000 | 2 | |
| 110 | 112 | 7 | 2015 | 25000 | 3 | |
| 111 | 112 | 7 | 2015 | 60000 | 4 | |
| 144 | 110 | 7 | 2014 | 50000 | 1 | 1 |
+------------+-----------+-------+------+--------+------+------+
When member make a savings, they could choose 5 type of savings, What i want to do is to make a list of member and all of their saving.
This is mysql query
SELECT m.member_id, name,
SUM(s1.amount) as savings1,
SUM(s2.amount) as savings2,
SUM(s3.amount) as savings3,
SUM(s4.amount) as savings4,
SUM(s5.amount) as savings5
FROM members m
LEFT JOIN savings s1 ON s1.member_id = m.member_id AND s1.type = 1 AND s1.paid = 1
LEFT JOIN savings s2 ON s2.member_id = m.member_id AND s2.type = 2 AND s2.paid = 1
LEFT JOIN savings s3 ON s3.member_id = m.member_id AND s3.type = 3 AND s3.paid = 1
LEFT JOIN savings s4 ON s4.member_id = m.member_id AND s4.type = 4 AND s4.paid = 1
LEFT JOIN savings s5 ON s5.member_id = m.member_id AND s5.type = 5 AND s5.paid = 1
WHERE
active = 1
GROUP BY m.member_id
This is the output
+-----------+--------+----------+----------+----------+----------+----------+
| member_id | name | savings1 | savings2 | savings3 | savings4 | savings5 |
+-----------+--------+----------+----------+----------+----------+----------+
| 105 | Andri | NULL | 1280000 | 400000 | 960000 | 1600000 |
| 106 | Steve | NULL | 80000 | 25000 | 60000 | 100000 |
| 110 | Soraya | 50000 | NULL | 25000 | 60000 | 100000 |
| 111 | Eva | NULL | 1280000 | 400000 | 960000 | 1600000 |
| 112 | Sonia | NULL | 80000 | 25000 | 60000 | 100000 |
+-----------+--------+----------+----------+----------+----------+----------+
As you can see the calculation is not right, for example savings2 for member 105 it should be 160K. Any suggestion what should be the query for this case.