Ver Mensaje Individual
  #3 (permalink)  
Antiguo 23/05/2012, 05:26
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 2 meses
Puntos: 574
Respuesta: Duda con una consulta

Código MySQL:
Ver original
  1. SELECT hpla.empl,
  2.              hpla.nombre,
  3.              hpla.patern,
  4.              hpla.matern,
  5.              SUM(IF(estimulos.pago="P",estimulos.monto,0)) as TotalPagosP,
  6.              SUM(IF(estimulos.pago="O",estimulos.monto,0)) as TotalPagosO,
  7.              SUM(estimulos.monto) as TotalPagos
  8.              centros.centro,
  9.              ramas.desram,
  10.              ramas.rama,
  11.              hpla.codfun  
  12. FROM hpla,
  13.           centros,
  14.           ramas,
  15.           estimulos,
  16.           pue
  17. WHERE hpla.cenres = centros.cenres
  18.    AND hpla.codfun = pue.codfun
  19.    AND ramas.rama = pue.rama
  20.    AND estimulos.empl = hpla.empl
  21. GROUP BY hpla.empl,
  22.                  hpla.nombre,
  23.                  hpla.patern,
  24.                  hpla.matern,
  25.                  estimulos.monto,
  26.                  centros.centro,
  27.                  ramas.desram,
  28.                  ramas.rama,
  29.                  hpla.codfun  

Es question que en la lista de campos de GROUP BY no tengas el tipo de pago... es decir la suma se hace para cada cambio en el conjunto de datos que pongas en GROUP BY...

Si hubiera un empledao en dos ramas.rama tambien tendrias el problema de dos registros para ese usuario.

ORDER BY tampoco es necesario....

Estudia la sintaxis de JOIN es mas actual que la que usas...

Esta solucion es mas SQL standar que la tuya.....
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 23/05/2012 a las 05:32