SQL Server - seleccion de trabajadores por 2 rangos de Fechas

   
Vista:

seleccion de trabajadores por 2 rangos de Fechas

Publicado por Cristian (1 intervención) el 21/06/2012 14:53:34
Hola tengo el siguiente caso tengo estas tablas, con mi reporte y select logro hacerlas normal, pero la que pongo al FINAL no:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
Ficha	Nombre	Consumo
	1 4628	EmpleadoA
	1 1507	EmpleadoB
	1 3066	EmpleadoC	 2,000
	1 0494	EmpleadoD	 500
	1 2702	EmpleadoE	 500
	1 4030	EmpleadoF	 1,500
	1 2673	EmpleadoG	 500
	1 4711	EmpleadoH	 500
	1 2942	EmpleadoI	 1,000
	1 2893	EmpleadoJ	 1,000
	1 4125	EmpleadoK	 1,500
	1 4723	EmpleadoL
Total Mes:			 9,000
 
 
 
	Ficha	Nombre	Consumo
	1 4628	EmpleadoA
	1 1507	EmpleadoB	 1,500
	1 3066	EmpleadoC	 1,500
	1 0494	EmpleadoD	 500
	1 2702	EmpleadoE	 1,000
	1 4030	EmpleadoF
	1 2673	EmpleadoG
	1 4711	EmpleadoH
	1 2942	EmpleadoI
	1 2893	EmpleadoJ
	1 4125	EmpleadoK
	1 4723	EmpleadoL
Total Mes:			 4,500
 
 
 
	Ficha	Nombre	Consumo
	1 4628	EmpleadoA	 500
	1 1507	EmpleadoB	 2,500
	1 3066	EmpleadoC	 3,000
	1 0494	EmpleadoD
	1 2702	EmpleadoE	 500
	1 4030	EmpleadoF	 1,000
	1 2673	EmpleadoG	 500
	1 4711	EmpleadoH	 500
	1 2942	EmpleadoI
	1 2893	EmpleadoJ
	1 4125	EmpleadoK
	1 4723	EmpleadoL	 500
Total Mes:			 9,000


ESTAS ES LA QUE NO ME SALE CON LOS SELECT

1
2
3
4
5
6
7
8
9
10
11
12
13
FICHA	NOMBRE		TOTAL(ene-marz)	HOJAS/MES	HOJAS/DIAS
1 4628	EmpleadoA	EmpleadoA	 500 	167	8
1 1507	EmpleadoB	EmpleadoB	 4,000 	1333	67
1 3066	EmpleadoC	EmpleadoC	 6,500 	2167	108
1 0494	EmpleadoD	EmpleadoD	 1,000 	333	17
1 2702	EmpleadoE	EmpleadoE	 2,000 	667	33
1 4030	EmpleadoF	EmpleadoF	 2,500 	833	42
1 2673	EmpleadoG	EmpleadoG	 1,000 	333	17
1 4711	EmpleadoH	EmpleadoH	 1,000 	333	17
1 2942	EmpleadoI	EmpleadoI	 1,000 	333	17
1 2893	EmpleadoJ	EmpleadoJ	 1,000 	333	17
1 4125	EmpleadoK	EmpleadoK	 1,500 	500	25
1 4723	EmpleadoL	EmpleadoL	 500 	167	8

VERAN LOGRO HACER SACAR LOS DATOS PERO DE 1 SOLO EMPLEADO USANDO EL SIGUIENTE SELECT, PERO YO QUIERO QUE SALGAN TODOS AUN ASI ELIMINANDO numficha = '11507' , SOLO ME MUESTRA TOTALES MAS NO LOS VALORES QUE QUIERO QUE SALGA, POR AHI ALGUIEN ME DIJO CON PROCEDIMIENTO Y UN BUCLE, PERO NO SE COMO HACERLO , ESPERO ME AYUDEN

select numficha, nombreempleado,(SELECT SUM(cantidad) as "papel consumido ENR-MARZ" FROM Registros WHERE fechaingreso BETWEEN '2012-01-01'
AND '2012-04-01' AND numficha = '11507' ) as "Total",

(SELECT SUM(cantidad) as "papel consumido ENR-MARZ" FROM Registros WHERE fechaingreso BETWEEN '2012-01-01'
AND '2012-04-01' AND numficha= '11507' )/(select COUNT(distinct(MONTH(fechaingreso))) as "Cantidad Mes" from Registros where fechaingreso BETWEEN
'2012-01-01' AND '2012-03-30') as "Hojas/mes",

((SELECT SUM(cantidad) as "papel consumido ENR-MARZ" FROM Registros WHERE fechaingreso BETWEEN '2012-01-01'
AND '2012-04-01' AND numficha like '11507' )/(select COUNT(distinct(MONTH(fechaingreso))) as "Cantidad Mes" from Registros where fechaingreso BETWEEN
'2012-01-01' AND '2012-03-30'))/20 as "Hojas/Dia"

from Registros WHERE fechaingreso BETWEEN '2012-01-01' AND '2012-04-01' AND numficha = '11507'
group by numficha, nombreempleado
order by numficha, nombreempleado
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias

seleccion de trabajadores por 2 rangos de Fechas

Publicado por Isaias (3180 intervenciones) el 21/06/2012 17:42:41
Si tu version es 2005 o superior, utiliza PIVOT, si es 2000, utliza CASE
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar