Ayuda con query
Publicado por claudia (1 intervención) el 30/09/2010 08:20:04
Buen dia a todos, de antemano agradezco a quien pueda ayudarme a resolver el siguiente problema.
Resulta que tengo un query que detallo mas abajito el cual me esta generando los siguientes datos
cod_empl salario vacomi afp renta
10001 500 0 20 2
10001 500 100 10 1
yo quiero que me aparezca de la siguiente manera:
cod_empl salario vacomi afp renta
10001 500 100 30 3
osea que el afp tiene que ir sumado del salario y del valor de comision y actualmente me muestra el calculo por separado, en el caso de vacomi se compone de comision y vacacion y tienen un pp.codigo distinto por eso esta asi en el case, en afp es sólopara determinar a que afp pertenece el empleado.
no se como podria hacer para agrupar estos campos, el query que tengo es el siguiente
SELECT distinct( A.cod_empl),
B.salario,
(case when d.pp_codigo = '3' or d.pp_codigo = '4'then isnull(sum(a.pg_salario),0)ELSE '0' END) as vacomi,
(case when b.COD_AFP = '1' or b.COD_AFP = '2' or b.COD_AFP = '3'then isnull(sum(a.pg_afp),0)ELSE '0' END) as afp,
isnull(sum(pg_renta),0) as renta
FROM PLAN_GENERADAS A,
PLAN_EMPLEADOS B,
PLAN_PERIODOS C,
TIPO_PLANILLA D
WHERE ( B.cod_empl = A.cod_empl ) and
( (A.PP_CODIGO = C.PP_CODIGO) AND
(A.PP_CORRELATIVO = C.PP_CORRELATIVO)) AND
(A.PP_CODIGO = D.PP_CODIGO) AND
D.PP_RENTA = 'S'and B.estado_cliente = 'A' and
month( pp_fecha_fin) = '1' and
year(c.pp_fecha_fin) = '2010'
GROUP BY A.cod_empl,
B.salario,
B.cod_afp , pp_mes , d.pp_codigo
ORDER BY A.cod_empl ASC
Nuevamente muchas gracias a quienes puedan ayudarme
Resulta que tengo un query que detallo mas abajito el cual me esta generando los siguientes datos
cod_empl salario vacomi afp renta
10001 500 0 20 2
10001 500 100 10 1
yo quiero que me aparezca de la siguiente manera:
cod_empl salario vacomi afp renta
10001 500 100 30 3
osea que el afp tiene que ir sumado del salario y del valor de comision y actualmente me muestra el calculo por separado, en el caso de vacomi se compone de comision y vacacion y tienen un pp.codigo distinto por eso esta asi en el case, en afp es sólopara determinar a que afp pertenece el empleado.
no se como podria hacer para agrupar estos campos, el query que tengo es el siguiente
SELECT distinct( A.cod_empl),
B.salario,
(case when d.pp_codigo = '3' or d.pp_codigo = '4'then isnull(sum(a.pg_salario),0)ELSE '0' END) as vacomi,
(case when b.COD_AFP = '1' or b.COD_AFP = '2' or b.COD_AFP = '3'then isnull(sum(a.pg_afp),0)ELSE '0' END) as afp,
isnull(sum(pg_renta),0) as renta
FROM PLAN_GENERADAS A,
PLAN_EMPLEADOS B,
PLAN_PERIODOS C,
TIPO_PLANILLA D
WHERE ( B.cod_empl = A.cod_empl ) and
( (A.PP_CODIGO = C.PP_CODIGO) AND
(A.PP_CORRELATIVO = C.PP_CORRELATIVO)) AND
(A.PP_CODIGO = D.PP_CODIGO) AND
D.PP_RENTA = 'S'and B.estado_cliente = 'A' and
month( pp_fecha_fin) = '1' and
year(c.pp_fecha_fin) = '2010'
GROUP BY A.cod_empl,
B.salario,
B.cod_afp , pp_mes , d.pp_codigo
ORDER BY A.cod_empl ASC
Nuevamente muchas gracias a quienes puedan ayudarme
Valora esta pregunta
0