Me explico:
Tengo el siguiente select que me trae todos los registros agrupados por todos los campos:
Código:
Me devuelve el siguiente resultado (Ver montos a la derecha):SELECT SapPago.TRACVE AS Empleado_ID, Trltag0.DATCVE AS Cod_Depto, Trltag0.DATDES AS Desc_Depto, Trltah0.DATCVE AS Cod_Dir, Trltah0.DATDES AS Desc_Dir, SapPago.CONCOD, SapPago.TNOCVE, Tacno.CPRANO, Tacno.CPRMAC, Tacno.CPRPER, SapPago.CODCIA, SapPago.CNOCVE, SapPago.TRNTXT, SapPago.NUMCTA, SapPago.TRNCEN, Tacno.TRNTIE AS Horas, Tacno.TRNIMP AS Monto FROM SapPago INNER JOIN Tacno ON SapPago.TRACVE = Tacno.TRACVE AND SapPago.CONCOD = Tacno.CONCOD AND SapPago.CRNANO = Tacno.CPRANO INNER JOIN Trltag0 ON SapPago.TRACVE = Trltag0.TRACVE INNER JOIN Trltah0 ON SapPago.TRACVE = Trltah0.TRACVE WHERE (Tacno.CPRPER IN ('23', '24')) AND (Tacno.CPRANO = 2004) AND (SapPago.TRACVE = '406') AND (SapPago.CONCOD IN ('80', '85')) AND (SapPago.ORGCTA = '1') GROUP BY SapPago.TRACVE, Trltag0.DATCVE, Trltag0.DATDES, Trltah0.DATCVE, Trltah0.DATDES, SapPago.CONCOD, SapPago.TNOCVE, Tacno.CPRANO, Tacno.CPRMAC, Tacno.CPRPER, SapPago.CODCIA, SapPago.CNOCVE, SapPago.TRNTXT, SapPago.NUMCTA, SapPago.TRNCEN, Tacno.TRNTIE, Tacno.TRNIMP
Código:
Las colunmas que están en rojo son a las que les voy hacer el SUM.Empleado_ID Cod_Depto Desc_Depto Cod_Dir Desc_Dir CONCOD TNOCVE CPRANO CPRMAC CPRPER CODCIA CNOCVE TRNTXT NUMCTA TRNCEN Horas Monto ----------- ---------- -------------------------------------------------- ---------- -------------------------------------------------- ----------- ------ ----------- ------ ------ ------ ------ -------------------------------------------------- ---------- ---------- --------------------- --------------------- 406 07040100 MANTENIMIENTO DE PLANTA 07000000 DIRECCION DE OPERACIONES 85 SN 2004 12 23 RICA AG HORAS EXTRAS 100% 6101040 130102 8.0000 1178.6800 406 07040100 MANTENIMIENTO DE PLANTA 07000000 DIRECCION DE OPERACIONES 80 SN 2004 12 23 RICA AG HORAS EXTRAS 35% 6101030 130102 3.5000 348.0700 406 07040100 MANTENIMIENTO DE PLANTA 07000000 DIRECCION DE OPERACIONES 80 SN 2004 12 24 RICA AG HORAS EXTRAS 35% 6101030 130102 4.0000 439.4700 (3 row(s) affected)
Hago el siguiente select que suma el campo Horas y el Campo Monto y quito del Group By dichos campos:
Código:
Me devuelve el siguiente resultado (Ver montos a la derecha):SELECT SapPago.TRACVE AS Empleado_ID, Trltag0.DATCVE AS Cod_Depto, Trltag0.DATDES AS Desc_Depto, Trltah0.DATCVE AS Cod_Dir, Trltah0.DATDES AS Desc_Dir, SapPago.CONCOD, SapPago.TNOCVE, Tacno.CPRANO, Tacno.CPRMAC, Tacno.CPRPER, SapPago.CODCIA, SapPago.CNOCVE, SapPago.TRNTXT, SapPago.NUMCTA, SapPago.TRNCEN, SUM(Tacno.TRNTIE) AS Horas, SUM(Tacno.TRNIMP) AS Monto FROM SapPago INNER JOIN Tacno ON SapPago.TRACVE = Tacno.TRACVE AND SapPago.CONCOD = Tacno.CONCOD AND SapPago.CRNANO = Tacno.CPRANO INNER JOIN Trltag0 ON SapPago.TRACVE = Trltag0.TRACVE INNER JOIN Trltah0 ON SapPago.TRACVE = Trltah0.TRACVE WHERE (Tacno.CPRPER IN ('23', '24')) AND (Tacno.CPRANO = 2004) AND (SapPago.TRACVE = '406') AND (SapPago.CONCOD IN ('80', '85')) AND (SapPago.ORGCTA = '1') GROUP BY SapPago.TRACVE, Trltag0.DATCVE, Trltag0.DATDES, Trltah0.DATCVE, Trltah0.DATDES, SapPago.CONCOD, SapPago.TNOCVE, Tacno.CPRANO, Tacno.CPRMAC, Tacno.CPRPER, SapPago.CODCIA, SapPago.CNOCVE, SapPago.TRNTXT, SapPago.NUMCTA, SapPago.TRNCEN
Código:
Empleado_ID Cod_Depto Desc_Depto Cod_Dir Desc_Dir CONCOD TNOCVE CPRANO CPRMAC CPRPER CODCIA CNOCVE TRNTXT NUMCTA TRNCEN Horas Monto ----------- ---------- -------------------------------------------------- ---------- -------------------------------------------------- ----------- ------ ----------- ------ ------ ------ ------ -------------------------------------------------- ---------- ---------- --------------------- --------------------- 406 07040100 MANTENIMIENTO DE PLANTA 07000000 DIRECCION DE OPERACIONES 85 SN 2004 12 23 RICA AG HORAS EXTRAS 100% 6101040 130102 8.0000 1178.6800 406 07040100 MANTENIMIENTO DE PLANTA 07000000 DIRECCION DE OPERACIONES 80 SN 2004 12 23 RICA AG HORAS EXTRAS 35% 6101030 130102 7.0000 696.1400 406 07040100 MANTENIMIENTO DE PLANTA 07000000 DIRECCION DE OPERACIONES 80 SN 2004 12 24 RICA AG HORAS EXTRAS 35% 6101030 130102 8.0000 878.9400 (3 row(s) affected)
Por qué los montos son diferentes?
Con un select me devuelve 8, 3.5 y 4 y en el otro 8, 7 y 8.
No entiendo...