compute by

16/03/2005 - 17:18 por Joan Q. | Informe spam
Hola a todos/as

select
t.cod_trabajador,
datename(year, pc.f_paga) as año,
pc.cod_concepto,
pc.importe

from trabajadores t

order by datename(year, pc.f_paga), pc.cod_concepto, pc.importe

compute sum (pc.importe) by datename(year, pc.f_paga), pc.cod_concepto
__________________________________________________________
Resultado

cod_trabajador año importe
000495 2003 637.8400
000495 2003 708.7100
omito lineas
000495 2003 708.7100
sum
== 10559.7800

cod_trabajador año importe
000495 2003 6.3800
000495 2003 7.0900
omito lineas
000495 2003 7.0900
sum
== 105.6400
_________________________________________________

Pregunta: ¿Cómo puedo hacer que me salga una sola linea con nombre
trabajador año e importe del compute sum del codigo concepto?
Linea 1:
cod_trabajador año 2003 importe corresponde a la suma del
cod_concepot 1 del año 2003
cod_trabajador año 2003 importe corresponde a la suma del
cod_concepto 2 del año 2003
cod_trabajador año 2004 importe corresponde a la suma del
cod_concepto 1 del año 2004
..
Gracias
Joan Q
 

Leer las respuestas

#1 Alejandro Mesa
16/03/2005 - 19:59 | Informe spam
Joan,

En el resultado que adjuntastes no veo informacion sobre "pc.cod_concepto".

Puedes usar la clausula GROUP BY de la sentencia SELECT.

select
t.cod_trabajador,
year(pc.f_paga) as año,
pc.cod_concepto,
sum(pc.importe) as sum_importes
from
trabajadores as t
group by
t.cod_trabajador,
year(pc.f_paga) as año,
pc.cod_concepto
order by
year(pc.f_paga), pc.cod_concepto, pc.importe
go


AMB


"Joan Q." wrote:

Hola a todos/as

select
t.cod_trabajador,
datename(year, pc.f_paga) as año,
pc.cod_concepto,
pc.importe

from trabajadores t

order by datename(year, pc.f_paga), pc.cod_concepto, pc.importe

compute sum (pc.importe) by datename(year, pc.f_paga), pc.cod_concepto
__________________________________________________________
Resultado

cod_trabajador año importe
000495 2003 637.8400
000495 2003 708.7100
omito lineas
000495 2003 708.7100
sum
==> 10559.7800

cod_trabajador año importe
000495 2003 6.3800
000495 2003 7.0900
omito lineas
000495 2003 7.0900
sum
==> 105.6400
_________________________________________________

Pregunta: ¿Cómo puedo hacer que me salga una sola linea con nombre
trabajador año e importe del compute sum del codigo concepto?
Linea 1:
cod_trabajador año 2003 importe corresponde a la suma del
cod_concepot 1 del año 2003
cod_trabajador año 2003 importe corresponde a la suma del
cod_concepto 2 del año 2003
cod_trabajador año 2004 importe corresponde a la suma del
cod_concepto 1 del año 2004
...
Gracias
Joan Q





Preguntas similares