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:
ESTAS ES LA QUE NO ME SALE CON LOS SELECT
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
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


0