Cual es la función de la clausula WITH TIES

10/11/2003 - 13:03 por José Raúl Fenollar Martínez | Informe spam
La verdad es que no he podido entender demasiado bien la función dela
clausula WITH TIES, tal como viene explicada en los BOL.

Si alguien fuera tan amable de explicarmela se lo agradeceria de antemano.

Preguntas similare

Leer las respuestas

#1 Miguel Egea
10/11/2003 - 13:44 | Informe spam
Prueba este script
create table #categoria(idCategoria int, nombre varchar(80))
go
declare @i int
set @i=1
while @i<100
begin
insert into #categoria select @i/10,'Elemento '+cast(@i as varchar)
set @i=@i+1
end
go
select top 5 * from #categoria order by idcategoria
select top 5 with ties * from #categoria order by idcategoria
select count(*) from #categoria where idCategoria=0

el segundo select que tiene el with ties te devuelve todos los que cumplen
el mismo criterio de ordenación, en este caso idCategoria=0
en resumen es un top 5 con mentiras, pero 'lógico' si el order by para dos
elementos es el mismo with ties te muestra ambos aún existiendo un top 1

Espero que se entienda
Saludos
Miguel Egea


"José Raúl Fenollar Martínez" escribió en el mensaje
news:#
La verdad es que no he podido entender demasiado bien la función dela
clausula WITH TIES, tal como viene explicada en los BOL.

Si alguien fuera tan amable de explicarmela se lo agradeceria de antemano.


Respuesta Responder a este mensaje
#2 José Raúl Fenollar Martínez
10/11/2003 - 16:56 | Informe spam
Hola Miguel , muchas gracias por tu respuesta.

Si me equivoco corrigeme:

Se trata de sacar todos los registros que cumplen la misma condición de
ordenación, del último registro que se va a mostrar en teoria. Por eso, si
en la consulta ponemos TOP 10, el primer select te devuelve 10 elementos,
siendo la idcategoria =1 (los 9 primeros idcategoria era 0), y el segundo
select con TOP 10 te devolveria 19 Elementos, es decir todos aquellos cuyo
idcategoria=1 que es el último elemento que habia devuleto el select.

Ahora bien, esto me lleva a otra pregunta. ¿Solo se puede utilizar el WITH
TIES cuando hay definida una ordenación?



"Miguel Egea" wrote in message
news:

Prueba este script
create table #categoria(idCategoria int, nombre varchar(80))
go
declare @i int
set @i=1
while @i<100
begin
insert into #categoria select @i/10,'Elemento '+cast(@i as varchar)
set @i=@i+1
end
go
select top 5 * from #categoria order by idcategoria
select top 5 with ties * from #categoria order by idcategoria
select count(*) from #categoria where idCategoria=0

el segundo select que tiene el with ties te devuelve todos los que cumplen
el mismo criterio de ordenación, en este caso idCategoria=0
en resumen es un top 5 con mentiras, pero 'lógico' si el order by para dos
elementos es el mismo with ties te muestra ambos aún existiendo un top 1

Espero que se entienda
Saludos
Miguel Egea


"José Raúl Fenollar Martínez" escribió en el mensaje
news:#
> La verdad es que no he podido entender demasiado bien la función dela
> clausula WITH TIES, tal como viene explicada en los BOL.
>
> Si alguien fuera tan amable de explicarmela se lo agradeceria de


antemano.
>
>


Respuesta Responder a este mensaje
#3 Alberto
10/11/2003 - 17:24 | Informe spam
Yo también probé el ejemplo y comprendí el funcionamiento de with ties pero
observo que la tabla no se crea si la busco en el EM. ¿Es una tabla
temporal?

Gracias
"Miguel Egea" escribió en el mensaje
news:

Prueba este script
create table #categoria(idCategoria int, nombre varchar(80))
go
declare @i int
set @i=1
while @i<100
begin
insert into #categoria select @i/10,'Elemento '+cast(@i as varchar)
set @i=@i+1
end
go
select top 5 * from #categoria order by idcategoria
select top 5 with ties * from #categoria order by idcategoria
select count(*) from #categoria where idCategoria=0

el segundo select que tiene el with ties te devuelve todos los que cumplen
el mismo criterio de ordenación, en este caso idCategoria=0
en resumen es un top 5 con mentiras, pero 'lógico' si el order by para dos
elementos es el mismo with ties te muestra ambos aún existiendo un top 1

Espero que se entienda
Saludos
Miguel Egea


"José Raúl Fenollar Martínez" escribió en el mensaje
news:#
> La verdad es que no he podido entender demasiado bien la función dela
> clausula WITH TIES, tal como viene explicada en los BOL.
>
> Si alguien fuera tan amable de explicarmela se lo agradeceria de


antemano.
>
>


Respuesta Responder a este mensaje
#4 Juan Carlos Leguizamón
10/11/2003 - 18:37 | Informe spam
Con permiso de Miguel, si, es una tabla temporal, como indica el anteponerle
el simbolito de #.

Aprovecho para preguntar si alguien tiene un caso donde haya tenido que usar
este WITH TIES en la vida real... no se me ocurre donde me pueda ser útil o
ando escaso de imaginación...

Gracias,

Juan Carlos Leguizamón.


"Alberto" escribió en el mensaje
news:
Yo también probé el ejemplo y comprendí el funcionamiento de with ties


pero
observo que la tabla no se crea si la busco en el EM. ¿Es una tabla
temporal?

Gracias
"Miguel Egea" escribió en el mensaje
news:
>
> Prueba este script
> create table #categoria(idCategoria int, nombre varchar(80))
> go
> declare @i int
> set @i=1
> while @i<100
> begin
> insert into #categoria select @i/10,'Elemento '+cast(@i as varchar)
> set @i=@i+1
> end
> go
> select top 5 * from #categoria order by idcategoria
> select top 5 with ties * from #categoria order by idcategoria
> select count(*) from #categoria where idCategoria=0
>
> el segundo select que tiene el with ties te devuelve todos los que


cumplen
> el mismo criterio de ordenación, en este caso idCategoria=0
> en resumen es un top 5 con mentiras, pero 'lógico' si el order by para


dos
> elementos es el mismo with ties te muestra ambos aún existiendo un top 1
>
> Espero que se entienda
> Saludos
> Miguel Egea
>
>
> "José Raúl Fenollar Martínez" escribió en el mensaje
> news:#
> > La verdad es que no he podido entender demasiado bien la función dela
> > clausula WITH TIES, tal como viene explicada en los BOL.
> >
> > Si alguien fuera tan amable de explicarmela se lo agradeceria de
antemano.
> >
> >
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida