Problemas con agrupacion
Publicado por yomero (8 intervenciones) el 25/06/2007 21:46:21
Hola a todos, tengo las siguientes tablas:
Acciones
-------------------------------------------------------------------------------------
Id_Accion Id_Ubicacion Actividad TipoAccion
-------------------------------------------------------------------------------------
1 10 5 1
2 5 5 1
3 10 5 1
4 5 3 2
5 7 3 2
Asistencia
-------------------------------------------------------------------------------------
Id_Accion Id_Persona
-------------------------------------------------------------------------------------
1 1
1 5
1 10
3 1
2 1
2 5
Lo que necesito hacer es lo siguiente :
- Recibir un parametro al procedimiento almacenado por el cual se filtraran las acciones (@TipoAccion) del resultado obtenido :
+ Hacer agrupacion por Id_Ubicacion
+ Obtener el total de acciones para cada Id_Ubicacion
+ Obtener el total de asistentes en cada Id_Ubicacion
+ Obtener el total de asistentes (sin repetirse) en cada Id_Ubicacion
Un resultado seria mas o menos como esto:
------------------------------------------------------------------------------------------------------------------------
Ubicación TotalAcciones TotalAsistencia AsistenciaEfectiva
------------------------------------------------------------------------------------------------------------------------
10 2 4 3
5 2 2 2
7 1 0 0
Elcaso es que tengo una hecho una consulta de esta forma:
SELECT Id_Ubicacion,Id_Accion,
(SELECT count(Id_Accion)
FROM Asistencia
WHERE (Id_Accion = Acciones.Id_Accion) ) AS AsistenciaTotal,
(SELECT count(DISTINCT Id_LN)
FROM Asistencia
WHERE (Id_Accion = Acciones.Id_Accion) ) AS AsistenciaEfectiva
FROM T_Acciones
WHERE (TipoAccion = @TipoAccion)
group by Id_Ubicacion,Id_Accion
Pero no me permite hacer la agrupacion por el Id_Ubicacion.... que estaré haciendo mal?
Saludos....
Acciones
-------------------------------------------------------------------------------------
Id_Accion Id_Ubicacion Actividad TipoAccion
-------------------------------------------------------------------------------------
1 10 5 1
2 5 5 1
3 10 5 1
4 5 3 2
5 7 3 2
Asistencia
-------------------------------------------------------------------------------------
Id_Accion Id_Persona
-------------------------------------------------------------------------------------
1 1
1 5
1 10
3 1
2 1
2 5
Lo que necesito hacer es lo siguiente :
- Recibir un parametro al procedimiento almacenado por el cual se filtraran las acciones (@TipoAccion) del resultado obtenido :
+ Hacer agrupacion por Id_Ubicacion
+ Obtener el total de acciones para cada Id_Ubicacion
+ Obtener el total de asistentes en cada Id_Ubicacion
+ Obtener el total de asistentes (sin repetirse) en cada Id_Ubicacion
Un resultado seria mas o menos como esto:
------------------------------------------------------------------------------------------------------------------------
Ubicación TotalAcciones TotalAsistencia AsistenciaEfectiva
------------------------------------------------------------------------------------------------------------------------
10 2 4 3
5 2 2 2
7 1 0 0
Elcaso es que tengo una hecho una consulta de esta forma:
SELECT Id_Ubicacion,Id_Accion,
(SELECT count(Id_Accion)
FROM Asistencia
WHERE (Id_Accion = Acciones.Id_Accion) ) AS AsistenciaTotal,
(SELECT count(DISTINCT Id_LN)
FROM Asistencia
WHERE (Id_Accion = Acciones.Id_Accion) ) AS AsistenciaEfectiva
FROM T_Acciones
WHERE (TipoAccion = @TipoAccion)
group by Id_Ubicacion,Id_Accion
Pero no me permite hacer la agrupacion por el Id_Ubicacion.... que estaré haciendo mal?
Saludos....
Valora esta pregunta


0