Ver Mensaje Individual
  #2 (permalink)  
Antiguo 21/07/2014, 09:55
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: Suma Total de un campo calculado en Mysql con Php

La query está simplemente mal escrita. tiene más de un error, entre lso cuales está que el CASE devuelve al menos un valor incompatible en el ELSE, ya que si "unidad" es una cadena de texto, no puede ser valor de retorno en un CASE donde el resto de los valroes son numéricos.
Además, una función agregada como SUM() requiere de GROUP BY, que no figura en tu query; a esto súmale que "desde" y "hasta" deberían ser datos constantes, o provenir de otra parte (si fuesen de la tabla propia no parecen tener sentudo).
Finalmente, el SUM está como un especie de alias, sin serlo...
Tienes bastante por hacer con eso...

Este sería un intento que yo haría:
Código MySQL:
Ver original
  1.     SUM(IF(unidad = 'ECOTOMOGRAFIA', valor * num_examenes * 0.13, 0.0)) 'ECOTOMOGRAFIA',
  2.     SUM(IF(unidad = 'ECO GINECOLOGICA', valor * num_examenes * 0.13, 0.0)) 'ECO GINECOLOGICA',
  3.     SUM(IF(unidad = 'DOPPLER COLOR', valor * num_examenes * 0.13, 0.0)) 'DOPPLER COLOR',
  4.     SUM(IF(unidad = 'RADIOLOGIA', 1500 * num_examenes, 0.0)) 'RADIOLOGIA',
  5.     SUM(IF(unidad = 'SCANNER', 6000 * num_examenes, 0.0)) 'SCANNER',
  6.     SUM(IF(unidad NOT IN ('ECOTOMOGRAFIA', 'ECO GINECOLOGICA', 'RADIOLOGIA', 'SCANNER'),  comision, 0.0))  comision
  7. FROM examenes
  8.     informante = 'RICARDO EGER'
  9.     AND fecha BETWEEN desde AND hasta
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)