FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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 ????? |
#2
|
|||
|
|||
Master....
Yo en mi humilde opinio haría un store
:-) for SELECT V.Nivel , Sum(V.CanNuevos) as CantNue, Sum(V.CanBajas) as CantBaj FROM Alumnos into :xx:xc.... Where Ano_Ingreso=:nA1 do begin hago otro, select etc. end si lo debes llamar desde la aplicacion cliente no hay problema, y le podes pasar los parametros. Con una vista no vas a poder al menos nunca las hice pero creo que no se le pueden pasar parametros.. |
|
|
|