Ver Mensaje Individual
  #1  
Antiguo 05-10-2004
Malon Malon is offline
Miembro
 
Registrado: oct 2003
Posts: 29
Reputación: 0
Malon Va por buen camino
Select anidado: Select from (select....)

Hola.
Hago la consulta es este foro y en el de Interbase/firebird porque no se bien donde va.

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 ?????
Responder Con Cita