Select anidado ( Select from select )
Hola a todos.
Tengo una consulta de este tipo:
SELECT V.Nivel , Sum(V.CanNuevos) as CantNue, Sum(V.CanBajas) as CantBaj
FROM [Select count(*) as CanNuevos, Sum(0) as CanBajas, Nivel
From Alumnos
Where Ano_Ingreso=:nA1
Group by Nivel
union
Select Sum(0) as CanNuevos, count(*) as CanBajas, Nivel
From Alumnos
Where Ano_Baja=:nA2
Group by Nivel]. as V
GROUP BY V.Nivel
ORDER BY V.Nivel
El select de union daria un resultado mas o menos asi:
Nivel CantNue CantBaj
-------------------------
1 10 0
1 0 20
2 15 0
2 0 35
Y lo que yo necesito es poder agruparlo por nivel:
Nivel CantNue CantBaj
-------------------------
1 10 20
2 15 35
Esto en Acces funciona y creo que en SQLServer tambien, pero en Firebird no.
Se podria resolver utilizando un vista para Select de union:
SELECT V.Nivel , Sum(V.CanNuevos) as CantNue, Sum(V.CanBajas) as CantBaj
FROM Vista_Union as V
GROUP BY V.Nivel
ORDER BY V.Nivel
pero necesito mandarle parametros.
Alguien puede ayudarme ?????
|