Ver Mensaje Individual
  #2 (permalink)  
Antiguo 16/01/2016, 20:43
xerifandtomas
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: 2 campos calculados, misma tabla.

Gracis a todos los que habeis leido el tema, ya he conseguido solucionarlo utilizando
Código SQL:
Ver original
  1. SUM(IF(ventas.tarjeta='1',cobrado,0)) AS tarjeta,
  2. SUM(IF(ventas.tarjeta='0',cobrado,0)) AS metalico,
  3. SUM(ventas.cobrado) AS suma

Igualmente, si alguien conoce un metodo mejor o alguna forma de simplificarlo bien venido sea.

Así es como a quedado
Código SQL:
Ver original
  1. SELECT
  2.     ventas.tarjeta,
  3.     ventas.concepto,
  4.     ventas.actividad,
  5.     ventas.id_actividad,
  6.     SUM(IF(ventas.tarjeta='1',cobrado,0)) AS tarjeta,
  7.     SUM(IF(ventas.tarjeta='0',cobrado,0)) AS metalico,
  8.     SUM(ventas.cobrado) AS suma
  9.     FROM
  10.     control_clases,ventas
  11.     WHERE
  12.     control_clases.ano=2016 AND control_clases.mes=1 AND ventas.id=control_clases.id_ventas
  13.     GROUP BY
  14.     id_actividad
  15.      
  16.     UNION ALL
  17.      
  18.     SELECT
  19.     tarjeta,
  20.     INSERT(concepto,1,50,'Suma BP'),
  21.     actividad,
  22.     INSERT(id_actividad,1,5,' '),
  23.     SUM(IF(ventas.tarjeta='1',cobrado,0)) AS tarjeta,
  24.     SUM(IF(ventas.tarjeta='0',cobrado,0)) AS metalico,
  25.     SUM(ventas.cobrado) AS suma
  26.     FROM
  27.     ventas
  28.     WHERE
  29.     YEAR(fecha_cobro)=2016 AND MONTH(fecha_cobro)=1 AND actividad='BP'
  30.     GROUP BY
  31.     id_actividad
  32.      
  33.     UNION ALL
  34.      
  35.     SELECT
  36.     tarjeta,
  37.     INSERT(concepto,1,50,'Suma BG'),
  38.     actividad,
  39.     INSERT(id_actividad,1,5,' '),
  40.     SUM(IF(ventas.tarjeta='1',cobrado,0)) AS tarjeta,
  41.     SUM(IF(ventas.tarjeta='0',cobrado,0)) AS metalico,
  42.     SUM(ventas.cobrado) AS suma
  43.     FROM
  44.     ventas
  45.     WHERE
  46.     YEAR(fecha_cobro)=2016 AND MONTH(fecha_cobro)=1 AND actividad='BG'
  47.     GROUP BY
  48.     id_actividad
  49.      
  50.     ORDER BY actividad,concepto,suma