Alias en clausulas
Hola Brownsea, te adjunto una solución que me propusiste vos ante una inquietud que me había surgido:
declare @data table (nom varchar(10), val int)
insert into @data values ('jose', 4)
insert into @data values ('jose', 5)
insert into @data values ('jose', 6)
insert into @data values ('su', 17)
insert into @data values ('su', 14)
insert into @data values ('su', 15)
insert into @data values ('su', 16)
insert into @data values ('su', 17)
select nom, val
from (
select nom, val, rank () over ( partition by nom order by nom, val desc) ranking
from @data
)a
where ranking in (1,2)
Analizando el código, ¿mi pregunta es por que ranking siendo un alias es admitido por el where y de la siguiente manera no me lo admite?
select nom, val, rank () over ( partition by nom order by nom, val desc) ranking
from @data
where ranking in (1,2)
¿Me sale una advertencia que no se reconoce la palabra ranking
A que se debe esto? No me queda claro...
¿Qué clausulas de Sql admiten alias? Me gustaría que me digas cuales.
Eso es todo.
Gracias y saludos!
damimg
declare @data table (nom varchar(10), val int)
insert into @data values ('jose', 4)
insert into @data values ('jose', 5)
insert into @data values ('jose', 6)
insert into @data values ('su', 17)
insert into @data values ('su', 14)
insert into @data values ('su', 15)
insert into @data values ('su', 16)
insert into @data values ('su', 17)
select nom, val
from (
select nom, val, rank () over ( partition by nom order by nom, val desc) ranking
from @data
)a
where ranking in (1,2)
Analizando el código, ¿mi pregunta es por que ranking siendo un alias es admitido por el where y de la siguiente manera no me lo admite?
select nom, val, rank () over ( partition by nom order by nom, val desc) ranking
from @data
where ranking in (1,2)
¿Me sale una advertencia que no se reconoce la palabra ranking
A que se debe esto? No me queda claro...
¿Qué clausulas de Sql admiten alias? Me gustaría que me digas cuales.
Eso es todo.
Gracias y saludos!
damimg
1 respuesta
Respuesta de brownsea
1