Uso de With Ties en Consultas – Select

With Ties en Select

  • La opción With Ties en una instrucción select se utiliza cuando se usa la cláusula Top n [Percent]. (Ver Opciones de Select)
  • El uso de With ties en el listado permite mostrar los registros que tienen los mismos valores que el último mostrado de acuerdo a la cantidad mostrada por Top n o Top n Percent.
  • El uso de Top debe ir acompañado con la cláusula Order By. (Ver Ordenamientos)

Ejemplo

Para entender el uso de With ties vamos a crear una base de datos, luego crear una tabla de Alumnos e insertar registros los cuales van a tener un campo de Promedios.

 

Create database PruebaTies
go

use PruebaTies
go

Create table Alumnos
(AlumnosCodigo nchar(6),
AlumnosNombre nvarchar(50),
AlumnosPromedio Numeric(9,2),
constraint AlumnosPK Primary key (AlumnosCodigo))
go

— Los registros

Insert into Alumnos values
(‘050426′,’Carlos Balarezo’,12),
(‘798455′,’Aracely Terravova’,17),
(‘230974′,’Mónica Mendoza’,16),
(‘094569′,’Sergio Campos’,14),
(‘092395′,’Rossana Llanos’,9),
(‘077845′,’Pedro Alcántara’,14),
(‘509875′,’Patricia López’,7)
go

— Listado de los Alumnos ordenados por promedio en orden descendente

select * from Alumnos order by AlumnosPromedio desc
go

Note que en el conjunto de resultados hay dos registros que tienen igual promedio, que son el tercero y el cuarto.




 

— Mostrar los 3 primeros, sin el uso de with Ties.

select Top 3 * from Alumnos order by AlumnosPromedio desc
go

Puede visualizarse solamente los tres primeros, en la figura donde se  muestran todos los alumnos puede notarse que el cuarto alumno tiene el mismo promedio que el tercero.

Usando With Ties

— Mostrar los 3 primeros, usando with Ties.

select Top 3 with ties * from Alumnos
order by AlumnosPromedio desc
go

Note que en la instrucción se está especificando que se muestren 3 registros al usar la cláusula Top 3, pero al incluir la opción With Ties también se muestra el cuarto registros porque tiene el mismo promedio que el tercero.

Si no hubieran registros con el mismo valor del promedio iguales al último, solamente se muestran los tres primeros.