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 SUM(IF(unidad
= 'ECOTOMOGRAFIA', valor
* num_examenes
* 0.13, 0.0)) 'ECOTOMOGRAFIA', SUM(IF(unidad
= 'ECO GINECOLOGICA', valor
* num_examenes
* 0.13, 0.0)) 'ECO GINECOLOGICA', SUM(IF(unidad
= 'DOPPLER COLOR', valor
* num_examenes
* 0.13, 0.0)) 'DOPPLER COLOR', SUM(IF(unidad
= 'RADIOLOGIA', 1500 * num_examenes
, 0.0)) 'RADIOLOGIA', SUM(IF(unidad
= 'SCANNER', 6000 * num_examenes
, 0.0)) 'SCANNER', SUM(IF(unidad
NOT IN ('ECOTOMOGRAFIA', 'ECO GINECOLOGICA', 'RADIOLOGIA', 'SCANNER'), comision
, 0.0)) comision
informante = 'RICARDO EGER'