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

Sumar dos campos diferentes

Estas en el tema de Sumar dos campos diferentes en el foro de Mysql en Foros del Web. hola necesito de su ayuda tengo esta consulta @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código SQL: Ver original SELECT p . idempleado , p . idsucursal , round ( ...
  #1 (permalink)  
Antiguo 25/11/2015, 11:30
 
Fecha de Ingreso: noviembre-2015
Mensajes: 18
Antigüedad: 9 años
Puntos: 0
Sumar dos campos diferentes

hola necesito de su ayuda tengo esta consulta

Código SQL:
Ver original
  1. SELECT p.idempleado,p.idsucursal,round((s.bonosug/7)*COUNT(p.dias),2)SUM FROM tbl_prestamo p
  2. RIGHT JOIN tbl_sugbon s ON p.idsucursal=s.idsucursal
  3. WHERE p.fecha BETWEEN '2015-11-22' AND '2015-11-23'
  4. GROUP BY s.idsucursal

lo cual me genera dos valores en sum que son 7.05 y 5.00 lo que quiero es sumar esos dos datos alguna idea si cambio el group by a p.idempleado me muestra la suma pero de 7.05+7.05 y yo no quiero eso porfavor me pueden ayudar

Última edición por gnzsoloyo; 25/11/2015 a las 14:04
  #2 (permalink)  
Antiguo 27/11/2015, 10:23
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 10 meses
Puntos: 447
Respuesta: Sumar dos campos diferentes

Hola IrvinSanchez14:

No entiendo muy bien qué es lo que intentas hacer, pero si estoy en lo correcto la consulta que tienes te genera dos registros o filas y lo que pretendes hacer es sumar esas dos filas.

podrías intentar hacer algo como esto:

Código MySQL:
Ver original
  1.   p.idempleado,p.idsucursal,
  2.   SUM(round((s.bonosug/7)*COUNT(p.dias),2)) total_suma
  3. FROM tbl_prestamo p
  4. RIGHT JOIN tbl_sugbon s ON p.idsucursal=s.idsucursal
  5. WHERE p.fecha BETWEEN '2015-11-22' AND '2015-11-23'
  6. GROUP BY s.idsucursal

Sin embargo, hay algunas observaciones que tengo que hacer a la consulta:

1. En el SELECT estás mostrando dos campos además del campo calculado (p.idempleado y p.idsucursal), sin embargo sólo estás agrupando por uno de ellos..., aunque MySQL te permite hacer esto, no es recomendable, pues puede arrojarte valores "raros" lo recomendable agrupar siempre por toda la lista de campos que utilices en el select.

2. Hay que tener cuidado con las funciones de agrupación cuando se utilizan LEFT o RIGTH JOIN, ya que al poder regresar valores NULOS entonces puede ser posible que necesites alguna validación adicional.

4. No utilices alias sobre palabras reservadas, en este caso SUM es una función de agrupación, por lo tanto puede causarte problemas... maneja siempre alias que no te causen problemas.

4. Si la consulta no funciona, entonces comienza por describir las tablas que estás utilizando y pon algunos datos de ejemplo. A partir de esos datos dinos qué es lo que esperas obtener como salida. De esta manera es posible que te podamos decir donde está el problema o en su defecto aplicar una solución distinta.

Saludos
Leo.

Etiquetas: mysql+consulta, 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 07:48.