I have a table view_remit with a list of ID and their respective total_PBR every first of the month(E_FROM) till the end of the month (E_TO).
|  ID  |  E_From  |   E_To   |Total_PBR|
|  01  |01/01/2016|03/31/2016|  1000   |
|  01  |08/01/2016|08/31/2016|  1000   |
|  02  |01/01/2016|01/31/2016|  3000   |
|  02  |02/01/2016|02/29/2016|  3000   |
What i want is to select all months with and without payment per ID. Like this example below.
|  ID  |  E_From  |   E_To   |Total_PBR|
|  01  |01/01/2016|01/31/2016|  1000   |
|  01  |02/01/2016|02/29/2016|  1000   |
|  01  |03/01/2016|03/31/2016|  1000   |
|  01  |04/01/2016|04/30/2016|    0    |
|  01  |05/01/2016|05/31/2016|    0    |
|  01  |06/01/2016|06/30/2016|    0    |
|  01  |07/01/2016|07/31/2016|    0    |
|  01  |08/01/2016|08/31/2016|  1000   |
|  01  |09/01/2016|09/30/2016|    0    |
|  01  |10/01/2016|10/31/2016|    0    |
|  01  |11/01/2016|11/30/2016|    0    |
|  01  |12/01/2016|12/31/2016|    0    |
I used this code from another question here MySQL monthly Sale of last 12 months including months with no Sale
SELECT ID, 
IF( MONTH( E_From ) =  1, Total_PBR, 0 ) AS  'Jan', 
IF( MONTH( E_From ) =  2, Total_PBR, 0 ) AS  'Feb', 
IF( MONTH( E_From ) =  3, Total_PBR, 0 ) AS  'Mar', 
IF( MONTH( E_From ) =  4, Total_PBR, 0 ) AS  'Apr', 
IF( MONTH( E_From ) =  5, Total_PBR, 0 ) AS  'May', 
IF( MONTH( E_From ) =  6, Total_PBR, 0 ) AS  'Jun', 
IF( MONTH( E_From ) =  7, Total_PBR, 0 ) AS  'Jul', 
IF( MONTH( E_From ) =  8, Total_PBR, 0 ) AS  'Aug', 
IF( MONTH( E_From ) =  9, Total_PBR, 0 ) AS  'Sep', 
IF( MONTH( E_From ) =  10, Total_PBR, 0 ) AS 'Oct', 
IF( MONTH( E_From ) =  11, Total_PBR, 0 ) AS 'Nov', 
IF( MONTH( E_From ) =  12, Total_PBR, 0 ) AS 'Dec', year(E_FROM) AS Year,
SUM(Total_PBR ) AS total_yearly
FROM view_remit
GROUP BY PEN, YEAR( E_From )
LIMIT 0 , 30
It worked but it doesn't count some of the months' total_PBR correctly. Any help is appreciated.