title: Multiple Left Join on same table
body: <p>I have two table. 
  1st table => member {member_id, name, active}
  2nd table => savings {savings_id, member_id, month, year, amount, type, paid}</p>
  
  <p>Member Table</p>
  
  <pre><code>+-----------+--------+--------+
  | member_id | name   | active |
  +-----------+--------+--------+
  |       105 | Andri  | 1      |
  |       106 | Steve  | 1      |
  |       110 | Soraya | 1      |
  |       111 | Eva    | 1      |
  |       112 | Sonia  | 1      |
  +-----------+--------+--------+
  </code></pre>
  
  <p>Savings Table</p>
  
  <pre><code>+------------+-----------+-------+------+--------+------+------+
  | 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    |
  +------------+-----------+-------+------+--------+------+------+
  </code></pre>
  
  <p>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.</p>
  
  <p>This is mysql query</p>
  
  <pre><code>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
  </code></pre>
  
  <p>This is the output</p>
  
  <pre><code>+-----------+--------+----------+----------+----------+----------+----------+
  | 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 |
  +-----------+--------+----------+----------+----------+----------+----------+
  </code></pre>
  
  <p>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.</p>
  
  <p><a href="http://sqlfiddle.com/#!2/9eca9/1" rel="noreferrer">http://sqlfiddle.com/#!2/9eca9/1</a></p>