Buenas a todos.
Tengo la siguiente consulta (seguramente una aberracion para algunos) que me trae los datos de de ventas en un mes y año indicado (ejemplo: enero-2016), el primer select cruza datos de 2 tablas (ventas, control_clases) para el resto de select son todos a la misma tabla (ventas).
Esta consulta recupera la suma de ventas (cobrado) agrupandolos por id_actividad.
En la tabla existe un campo llamado tarjeta (boleano 0/1), la idea es generar 2 campos calculados en funcion de este, suma metalico (tarjeta=0) y suma tarjeta (tarjeta=1), el campo calculado actual suma me es indiferente.
Alguien puede orientarme de como realizar esto. y si es posible hacer una consulta mas simple. SQL no es lo mio la verdad, aun que poco a poco golpe a golpe va entrando.
Un saludo, muchas gracias.
Código SQL:
Ver originalSELECT
ventas.tarjeta,
ventas.concepto,
ventas.actividad,
ventas.id_actividad,
SUM(ventas.cobrado) AS suma
FROM
control_clases,ventas
WHERE
control_clases.ano=2016 AND control_clases.mes=1 AND ventas.id=control_clases.id_ventas
GROUP BY
id_actividad
UNION ALL
SELECT
tarjeta,
INSERT(concepto,1,50,'Suma BP'),
actividad,
INSERT(id_actividad,1,5,' '),
SUM(cobrado) AS suma
FROM
ventas
WHERE
YEAR(fecha_cobro)=2016 AND MONTH(fecha_cobro)=1 AND actividad='BP'
GROUP BY
id_actividad
UNION ALL
SELECT
tarjeta,
INSERT(concepto,1,50,'Suma BG'),
actividad,
INSERT(id_actividad,1,5,' '),
SUM(cobrado) AS suma
FROM
ventas
WHERE
YEAR(fecha_cobro)=2016 AND MONTH(fecha_cobro)=1 AND actividad='BG'
GROUP BY
id_actividad
ORDER BY actividad,concepto,suma
Esto es lo que tengo ahora
Código text:
Ver originalconcepto | actividad | id_actividad | suma
------------------------------------------------------
concepto1 | CN | 2 | 120.00
concepto2 | CN | 5 | 75.00
suma BP | BG | 10 | 735.00
suma BG | BP | 18 | 262.50
Y esto es lo que pretendo
Código text:
Ver originalconcepto | actividad | id_actividad | suma | tarjeta | metalico
---------------------------------------------------------------------------
concepto1 | CN | 2 | 120.00 | 80.00 | 40.00
concepto2 | CN | 5 | 75.00 | 65.00 | 10.00
suma BP | BG | 10 | 735.00 | 35.00 | 700.00
suma BG | BP | 18 | 262.50 | 62.00 | 200.00