SQL - contador sql

 
Vista:

contador sql

Publicado por adrilara (5 intervenciones) el 08/12/2006 19:04:05
Hola, necesito saber cual es el numero mas pequeño que me falta en un campo identificador.

ejemplo:
Tengo los siguientes numeros

1,2,3,4,21,22,23,67,87,987,1221....

Quisiera encontrar mediante una consulta el numero 5.
gracias...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:contador sql

Publicado por Liliana (426 intervenciones) el 11/12/2006 13:53:55
Hola,
Una forma es:

create table Tabla
(id smallint identity,
dato char(10))

insert Tabla
select 'dato1' union
select 'dato2' union
select 'dato3' union
select 'dato4' union
select 'dato5' union
select 'dato6' union
select 'dato7'

create index Tabla on Tabla (id)

-- borra dos filas para hacer la prueba
delete from Tabla where id = 3 or id = 4
select * from Tabla

-- muestra un solo hueco
select t1.id -1, t1.id, t2.id
from Tabla t1
left join Tabla t2 on t1.id - 1 = t2.id
where t2.id is null and
t1.id - 1 > 0

Otra forma, es generar una tabla con números consecutivos y comparar con la información disponible.
Saludos,
Liliana.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:contador sql

Publicado por Evelio Lezama (15 intervenciones) el 11/12/2006 20:32:32
Prueba con este procedimiento adrilara:

CREATE PROCEDURE MostrarNumeroFaltanteMenor
AS
BEGIN
DECLARE @Encontrar as BIT, @Contador as Numeric

SET @Encontrar = 0
SET @Contador = 0

While @Encontrar = 0
BEGIN

SET @Contador = @Contador +1

IF NOT EXISTS(Select Identificador FROM Tabla where identificador = @Contador)
BEGIN
SET @Encontrar = 1

Select @Contador AS Numero

END

END

END
GO

Tambien lo puedes colocar en una funcion

Si tienes dudas escríbeme

Saludos
Evelio Lezama
Software Architect
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar