Ver Mensaje Individual
  #4 (permalink)  
Antiguo 15/06/2015, 07:56
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Obtener el valor mínimo de una tabla

OK.
Una diferencia es una resta, pero no queda claro qué le restas al "total" obtenido en la consulta. ¿O es que alguno de los campos contiene valores negativos?
Pregunto esto porque si es así, tal como estás representando la tabla de datos no se aprecia... Peri si es eso, la consutla será algo larga, aunque de una simpleza espeluznante:
Mas o menos asi:
Código MySQL:
Ver original
  1. SELECT t1.num, t1.total, ABS(t1.total - t2.total) diferencia
  2. FROM    (SELECT num, SUM(valor1+valor2+valor3)total
  3.            FROM tablavalores
  4.           WHERE valor1>0 AND valor2>0 AND valor3>0
  5.        GROUP BY num) T1
  6.       INNER JOIN
  7.         (SELECT num, SUM(
  8.                         IF(valor1 <= 0, valor1, 0) +
  9.                         IF(valor2 <= 0, valor2, 0) +
  10.                         IF(valor3 <= 0, valor3, 0)
  11.                         )total
  12.            FROM tablavalores
  13.           WHERE valor1 <= 0 OR valor2 <= 0 OR valor3 <= 0
  14.        GROUP BY num) T2 ON T1.nbum = T2.num
  15. ORDER BY T1.total DESC;
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 15/06/2015 a las 08:03