Problem with the Group by help?

0
SELECT VENDEDOR.ID_VENDEDOR,
CASE WHEN TO_CHAR(BOLETA.FECHA_BOLETA,'MM/YYYY')='05/2014' THEN 
  SUM(COMISION_VENTAS.VALOR_COMISION_BOLETA)
ELSE  0 
END "COMISION"

FROM VENDEDOR
JOIN BOLETA 
ON BOLETA.ID_VENDEDOR=VENDEDOR.ID_VENDEDOR

JOIN COMISION_VENTAS
ON BOLETA.NRO_BOLETA=COMISION_VENTAS.NRO_BOLETA
group by VENDEDOR.ID_VENDEDOR, TO_CHAR(BOLETA.FECHA_BOLETA,'MM/YYYY');

This shows me:

I should stay:

|   | ID_VENDEDOR |COMISION|  
| 1 |   ___1111111|___33638|
| 2 |   ___2222222|___37464|
| 3 |   ___3333333|_______0|
    
asked by M.Esp 25.06.2017 в 04:14
source

2 answers

0

What you should do is apply SUM to CASE , having them separated the information is disaggregated. I also added O_CHAR(BOLETA.FECHA_BOLETA,'MM/YYYY') to SELECT but can not properly see how the GROUP BY

works
SELECT  VENDEDOR.ID_VENDEDOR,
        TO_CHAR(BOLETA.FECHA_BOLETA,'MM/YYYY') 'Fecha',
        SUM(CASE WHEN TO_CHAR(BOLETA.FECHA_BOLETA,'MM/YYYY')='05/2014' THEN COMISION_VENTAS.VALOR_COMISION_BOLETA
            ELSE  0
        END) "COMISION"
        FROM VENDEDOR
        JOIN BOLETA 
            ON BOLETA.ID_VENDEDOR=VENDEDOR.ID_VENDEDOR
        JOIN COMISION_VENTAS
            ON BOLETA.NRO_BOLETA=COMISION_VENTAS.NRO_BOLETA
        GROUP BY 
            VENDEDOR.ID_VENDEDOR, TO_CHAR(BOLETA.FECHA_BOLETA,'MM/YYYY');
    
answered by 25.06.2017 / 15:56
source
0

use group also in the commission field: link

mysql> SELECT year, SUM(profit) AS profit
       FROM sales
       GROUP BY year ASC WITH ROLLUP;
    
answered by 25.06.2017 в 04:34