Hola a todos/as
Supongo que será pedir peras al olmo (lo que hacen algunos para no emplear
visual Studio¡¡), pero puedo asociar el resultado de la linea 3 del idem 17998.4600 a una variable para utilizarlo en el mismo select.
Es decir yo quiero añadir al final una linea en el select que sea el
producto del resultado 17998.4600 dividido entre el resultado de la linea 4
(por ejemplo). No sé si me explico.
Joan Q
use x
declare @a datetime
declare @z datetime
set @a = '20030101'
set @z = '20040101'
select
'%_nombre' = GROUPING(t.nombre),
'%_año' = GROUPING (convert(char(6), datename(year, pc.f_paga))),
'%_tpaga' = GROUPING (pc.t_paga),
'%_cs.concepto' = GROUPING(cs.den_concepto),
t.nombre , convert(char(6), datename(year, pc.f_paga)) as año,
cs.den_concepto,pc.t_paga,sum(pc.importe) as importe
from trabajadores t
inner join empresas e
on t.codigoempresa = e.codigoempresa
inner join pagastrabajadorconceptos pc
on t.codigoempresa = pc.codigoempresa
and t.cod_trabajador = pc.cod_trabajador
and (datename (year, pc.f_paga) = datename (year, @a)
or (datename (year, pc.f_paga)) = datename (year, @z))
inner join conceptossalariales cs
on cs.tablaconceptos = e.cod_tablaconceptos
and cs.num_concepto = pc.cod_concepto
where t.codigoempresa in (116, 136, 151, 149, 108)
and t.clavepercepcion <> 'g'
and t.epigrafe <> 0
and t.cod_trabajador = 495
group by t.nombre, convert(char(6), datename(year, pc.f_paga)),
pc.t_paga, cs.den_concepto with rollup
order by convert(char(6), datename(year, pc.f_paga)), pc.t_paga,
cs.den_concepto
Resultado:
%_nombre %_año %_tpaga %_cs.concepto nombraño den_concepto
t_paga importe
-
0 1 1 1 PEPE NULL NULL
NULL 37947.8000
1 1 1 1 NULL NULL NULL
NULL 37947.8000
0 0 1 1 PEPE 2003 NULL
NULL 17998.4600
0 0 0 1 PEPE 2003 NULL
1 14780.9900
0 0 0 0 PEPE 2003 Antiguedad
1 84.3700
0 0 0 0 PEPE 2003 Ayuda estudios
1 35.3700
0 0 0 0 PEPE 2003 Complemento I.T.
1 104.6300
0 0 0 0 PEPE 2003 Complemento puesto
1 3084.3600
0 0 0 0 PEPE 2003 COTIZACION CONT.COMUNES
1 689.0200
0 0 0 0 PEPE 2003 COTIZACION DESEMPLEO
1 227.2300
0 0 0 0 PEPE 2003 COTIZACION FORMACION PROF.
1 14.6700
0 0 0 0 PEPE 2003 COTIZACION I.R.P.F.
1 1259.1000
0 0 0 0 PEPE 2003 Plus Transporte
1 848.5900
0 0 0 0 PEPE 2003 Salario Base
1 8433.6500
0 0 0 1 PEPE 2003 NULL
2 3217.4700
0 0 0 0 PEPE 2003 Antiguedad
2 21.2700
0 0 0 0 PEPE 2003 Complemento puesto
2 777.5700
0 0 0 0 PEPE 2003 COTIZACION I.R.P.F.
2 292.5000
0 0 0 0 PEPE 2003 Salario Base
2 2126.1300
0 0 1 1 PEPE 2004 NULL
NULL 19949.3400
0 0 0 1 PEPE 2004 NULL
1 16443.0400
0 0 0 0 PEPE 2004 Antiguedad
1 91.6800
0 0 0 0 PEPE 2004 Atrasos
1 71.1500
0 0 0 0 PEPE 2004 Ayuda estudios
1 36.4800
0 0 0 0 PEPE 2004 Complemento puesto
1 3615.8000
0 0 0 0 PEPE 2004 COTIZACION CONT.COMUNES
1 761.3300
0 0 0 0 PEPE 2004 COTIZACION DESEMPLEO
1 251.0400
0 0 0 0 PEPE 2004 COTIZACION FORMACION PROF.
1 16.1900
0 0 0 0 PEPE 2004 COTIZACION I.R.P.F.
1 1529.8500
0 0 0 0 PEPE 2004 Plus Transporte
1 904.0400
0 0 0 0 PEPE 2004 Salario Base
1 9165.4800
0 0 0 1 PEPE 2004 NULL
2 3506.3000
0 0 0 0 PEPE 2004 Antiguedad
2 22.9200
0 0 0 0 PEPE 2004 Complemento puesto
2 853.3000
0 0 0 0 PEPE 2004 COTIZACION I.R.P.F.
2 338.7100
0 0 0 0 PEPE 2004 Salario Base
2 2291.3700
(36 filas afectadas)
Leer las respuestas