Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/09/2013, 11:01
Avatar de catpaw
catpaw
 
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 14 años, 6 meses
Puntos: 23
devolver 2 columnas dependiendo del valor de campo

hola como les va?

yo ando un poco atorada con lo siguiente:

tengo la siguiente tabla:

Código:
----------------+
tabla           |
----------------+
id              |
clave           |
total           |
mes             |
----------------+
supongamos que tenemos estos valores:

Código:
id	1
clave	100
total	2.4
mes	09

id	2
clave	200
total	-5.55
mes	09

id	3
clave	300
total	-70
mes	09

id	4
clave	400
total	4.3
mes	08
Necesito del campo total sumar los valores positivos Y los negativos, agruparlos por mes sacar Y sacar un total por mes, es decir un resultado asi:

Código:
mes	total	total_positivos	total_negativos
09	3	2.4		-75.55
08	1	4.3		0
Intente dos LEFT JOIN a la misma tabla para sacar primero la suma de positivos Y luego la de negativos, pero siempre me salia NULL el segundo LEFT, tal vez haya una forma mas practica?

Código MySQL:
Ver original
  1. SELECT t1.*, COUNT(*) AS total, t2.suma_positivos, t3.suma_negativos
  2. FROM tabla t1
  3. LEFT JOIN (SELECT clave, SUM(total) AS suma_positivos WHERE total>0 GROUP BY mes) t2 ON t1.clave=t2.clave
  4. LEFT JOIN (SELECT clave, SUM(total) AS suma_negativos WHERE total<0 GROUP BY mes) t2 ON t1.clave=t3.clave

Eso no me resulta, ya que el count no cuenta por mes, ni estoy obteniendo la suma de negativos, alguna idea? gracias

Última edición por catpaw; 13/09/2013 a las 11:11