Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Suma Total de un campo calculado en Mysql con Php

Estas en el tema de Suma Total de un campo calculado en Mysql con Php en el foro de Mysql en Foros del Web. Estimados Necesito realizar la suma de ese campo calculado en en CASE llamado comision. alguna idea? tengo el siguiente codigo. no se si sumarlo en ...
  #1 (permalink)  
Antiguo 21/07/2014, 09:28
 
Fecha de Ingreso: julio-2014
Mensajes: 4
Antigüedad: 9 años, 9 meses
Puntos: 0
Suma Total de un campo calculado en Mysql con Php

Estimados

Necesito realizar la suma de ese campo calculado en en CASE llamado comision.
alguna idea? tengo el siguiente codigo. no se si sumarlo en el slect o en el case. recordar que ese campo comision no esta presente en la base, se calcula a partir de las condiciones detalladas en el codigo.

Código SQL:
Ver original
  1. SELECT SUM(comision), CASE unidad WHEN 'ECOTOMOGRAFIA' THEN valor *
  2. num_examenes * 0.13 WHEN 'ECO GINECOLOGICA' THEN valor * num_examenes * 0.13 WHEN 'DOPPLER
  3. COLOR' THEN valor * num_examenes * 0.13 WHEN 'RADIOLOGIA' THEN 1500 * num_examenes WHEN
  4. 'SCANNER' THEN 6000 * num_examenes ELSE unidad END AS SUM(comision) FROM examenes WHERE
  5. informante = 'RICARDO EGER' AND fecha BETWEEN desde AND hasta

de antemano.

Gracias

atte.

Última edición por gnzsoloyo; 21/07/2014 a las 09:38
  #2 (permalink)  
Antiguo 21/07/2014, 09:55
Avatar de 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, 4 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)
  #3 (permalink)  
Antiguo 21/07/2014, 11:19
 
Fecha de Ingreso: julio-2014
Mensajes: 4
Antigüedad: 9 años, 9 meses
Puntos: 0
Respuesta: Suma Total de un campo calculado en Mysql con Php

Estimado

agradezco tu respuesta.
unidad corresponde al tipo de examen, lo que indica la tarifa a pagar por comision.
ahora esta query debuelve un listado, ya que tengo que entregar al medico el detalle de los pacientes atendidos con su valor a pagar de forma individual.
lo que necesito es sumar el total, y me complica ya que 'comision' es un campo calculado que no existe en la tabla de la base.
voy a probar con tu sugerencia y te aviso.

muchas gracias

atte.
  #4 (permalink)  
Antiguo 22/07/2014, 14:12
 
Fecha de Ingreso: julio-2014
Mensajes: 4
Antigüedad: 9 años, 9 meses
Puntos: 0
Respuesta: Suma Total de un campo calculado en Mysql con Php

gnzsoloyo

Probe tu codigo, pero me devuelve error la consaulta, ya que el campo comision no existe en la tabla de la base de datos, es un campo calculado.

atte.
  #5 (permalink)  
Antiguo 22/07/2014, 14:28
Avatar de 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, 4 meses
Puntos: 2658
Respuesta: Suma Total de un campo calculado en Mysql con Php

Ajá...
¿Y en base a qué se calcula? ¿Qué es exactamente lo que representa?

En base a eso podremos hacer una query mejor.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 22/07/2014, 20:32
 
Fecha de Ingreso: julio-2014
Mensajes: 4
Antigüedad: 9 años, 9 meses
Puntos: 0
Respuesta: Suma Total de un campo calculado en Mysql con Php

Se calcula en base a la columna 'valor' y de acuerdo a la unidad a la cual pertenece el examen, ya que el pago que se realiza al medico se calcula de acuerdo al tipo de examen y al valor cancelado por cada examen, es por eso que se hace la condicional en la query y se hace el campo calculado.
no se si me explico.

gracias

atte.

Etiquetas: campo, php, select, suma
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:00.