|
Hola Juan, Por lo que veo, en la misma tabla se está guardando, además de los nombres de los empleados, varios importes para cada uno de ellos: sueldo, premio asistencia y descuento imss. Es una tabla desnormalizada (¿se usa para BI?) que, en realidad, si se normalizara, se convertiría en 4 tablas normalizadas: empleados, sueldos, premios de asistencia y descuentos imss. Las potentísimas "common table expressions" de la versión 7.2 (palabra clave "WITH") permiten crear al vuelo tablas intermedias o temporales basadas en sentencias select. Para solucionar tu consulta y SIEMPRE QUE SÓLO SE QUIERA LISTAR LA INFORMACIÓN DE ESOS 3 IMPORTES CON SUS CORRESPONDIENTES CÓDIGOS FIJOS (1000, 1001 y 5010), es posible que te sirva la sentencia select que pongo al final. Esta sentencia crea al vuelo, mediante las 4 "common table expressions", las 4 tablas normalizadas de las que hablaba. La "SELECT DISTINCT" que aparece al final es la que se haría si en lugar de 1 tabla desnormalizada tuvieras 4 tablas normalizadas. La sentencia es: with empleados2 (emp2_codemp, emp2_nombre) as (select codigo, nombre from empleados), sueldos (sueldo_codemp, sueldo_importe) as (select codigo, importe from empleados where concepto = 1000), premios (premios_codemp, premios_importe) as (select codigo, importe from empleados where concepto = 1001), descuentos (dtos_codemp, dtos_importe) as (select codigo, importe from empleados where concepto = 5010) select distinct emp2_codemp "EMPLEADO", emp2_nombre "NOMBRE", suel.sueldo_importe "SUELDO", prem.premios_importe "PREMIO ASISTENCIA", descu.dtos_importe "DESCUENTOS IMSS" from empleados2 emp2, sueldos suel, premios prem, descuentos descu where emp2.emp2_codemp = suel.sueldo_codemp order by emp2.emp2_codemp ; Espero que te sirva. Un saludo, Potele El 06/09/2018 a las 17:14, Juan
Gutierrez Ruiz escribió:
|
____________________________________________________ Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) Forum.Help400 © Publicaciones Help400, S.L.

