Viet
16-10-2003, 18:44:56
Buenas
Tengo una consultita que me esta poniendo loco
tablas : (aclaracion: este es un modelo simplificado, para que sea mas legible)
detalle (id_empleado, id_aplicacion, cantidad)
aplicaciones(id_aplicacion, id_grupo)
grupos(id_grupo, descripcion)
empleados(id_empleado, Nombre)
Lo que quiero obtener es la cantidad de aplicaciones por grupo y por empleado
mi consulta es:
select e.nombre , g.descripcion , sum(d.cantidad)
from detalle d
inner join aplicaciones a on (a.id_aplicacion=d.id_aplicacion)
inner join grupos g on (g.id_grupo=a.id_grupo)
inner join empleados e on (e.id_empleados=d.id_empleado)
group by
e.nombre, g.descripcion
Por lo que yo veo esta todo bien, pero en ves de darme el total por grupo para cada empleado, me da por cada empleado, el total que existen por grupo, por cada grupo.
Ejemplo:
detalle
empleado aplicacion cant
1 1000 5
1 1002 6
2 1000 10
2 1002 7
2 1003 3
empleados
id nombre
1 pepe
2 juan
aplicaciones
id grupo
1000 1
1002 2
1003 1
grupos
id descrip
1 grupo1
2 grupo2
esto me tendria que dar
nombre grupo cant
pepe grupo1 5
pepe grupo2 6
juan grupo1 13
juan grupo2 7
sin embargo me da
nombre grupo cant
pepe grupo1 18
pepe grupo2 13
juan grupo1 18
juan grupo2 13
Les juro que no he tomado nada con alcohol... y segun mis calculos esto esta muy mal.... la verdad es que no puedo ver donde esta el problema ??? y sin embargo me parece una consulta por demas simple....
Gracias por su tiempo ... y perdonen que es tan largo la consulta pero queria explicar bien el caso.. ;)
Tengo una consultita que me esta poniendo loco
tablas : (aclaracion: este es un modelo simplificado, para que sea mas legible)
detalle (id_empleado, id_aplicacion, cantidad)
aplicaciones(id_aplicacion, id_grupo)
grupos(id_grupo, descripcion)
empleados(id_empleado, Nombre)
Lo que quiero obtener es la cantidad de aplicaciones por grupo y por empleado
mi consulta es:
select e.nombre , g.descripcion , sum(d.cantidad)
from detalle d
inner join aplicaciones a on (a.id_aplicacion=d.id_aplicacion)
inner join grupos g on (g.id_grupo=a.id_grupo)
inner join empleados e on (e.id_empleados=d.id_empleado)
group by
e.nombre, g.descripcion
Por lo que yo veo esta todo bien, pero en ves de darme el total por grupo para cada empleado, me da por cada empleado, el total que existen por grupo, por cada grupo.
Ejemplo:
detalle
empleado aplicacion cant
1 1000 5
1 1002 6
2 1000 10
2 1002 7
2 1003 3
empleados
id nombre
1 pepe
2 juan
aplicaciones
id grupo
1000 1
1002 2
1003 1
grupos
id descrip
1 grupo1
2 grupo2
esto me tendria que dar
nombre grupo cant
pepe grupo1 5
pepe grupo2 6
juan grupo1 13
juan grupo2 7
sin embargo me da
nombre grupo cant
pepe grupo1 18
pepe grupo2 13
juan grupo1 18
juan grupo2 13
Les juro que no he tomado nada con alcohol... y segun mis calculos esto esta muy mal.... la verdad es que no puedo ver donde esta el problema ??? y sin embargo me parece una consulta por demas simple....
Gracias por su tiempo ... y perdonen que es tan largo la consulta pero queria explicar bien el caso.. ;)