CONSULTA

11/06/2005 - 16:29 por Martin | Informe spam
Que tal.
Quiero hacer una consulta en donde me diga cuales son los numeros de un
cierto campo que no se encuentran en él. por ejemplo si en un campo llamado
id_mascota tengo M1 a M100 y de M103 a M500 para obtener el campo maximo le
hago asi: (select
max(convert(numeric,substring(id_mascota,2,len(id_mascota)))) from mascotas)
y le aumento uno para insertar otro registro que seria el M501, pero como
puedo saber los numeros que no existen en mi tabla entre el numero menor (M1)
y el numero mayor M(500 en este caso), espero haberme explicado bien y que me
puedan ayudar. Gracias

Preguntas similare

Leer las respuestas

#1 Maxi
11/06/2005 - 18:03 | Informe spam
Hola Martin, una forma seria, armar en una tabla temporal todos los numeros
y luego hacer un left join contra esa tabla.

Veamos un ejemplo:

Use NorthWind
Go

create table #pepe (numero varchar(10))



insert into #pepe values ('m1')
insert into #pepe values ('m3')
insert into #pepe values ('m5')
insert into #pepe values ('m6')
insert into #pepe values ('m7')
insert into #pepe values ('m8')
insert into #pepe values ('m10')


create table #pepefull (numero varchar(10))



Declare @n int
set @n = 1

While @n <= 10
begin
insert into #pepefull values ('m' + convert(varchar(2),@n))
set @n = @n + 1
end



Select p.* from #pepefull p left join #pepe p2
on p.numero = p2.numero
where p2.numero is null



nota: #pepe deberia ser tu tabla en cuestion, solo que yo lo genere asi para
ejemplificar. Tambien deberias poner todo esto en un Store por ej.


Maxi - Buenos Aires - Argentina
Desarrollador 3 Estrellas

Msn_messager:
mail: Maxi.da[arroba]gmail.com

"Martin" escribió en el mensaje
news:
Que tal.
Quiero hacer una consulta en donde me diga cuales son los numeros de un
cierto campo que no se encuentran en él. por ejemplo si en un campo
llamado
id_mascota tengo M1 a M100 y de M103 a M500 para obtener el campo maximo
le
hago asi: (select
max(convert(numeric,substring(id_mascota,2,len(id_mascota)))) from
mascotas)
y le aumento uno para insertar otro registro que seria el M501, pero como
puedo saber los numeros que no existen en mi tabla entre el numero menor
(M1)
y el numero mayor M(500 en este caso), espero haberme explicado bien y que
me
puedan ayudar. Gracias
Respuesta Responder a este mensaje
#2 Martin
12/06/2005 - 17:57 | Informe spam
Gracias Maxi

"Maxi" escribió:

Hola Martin, una forma seria, armar en una tabla temporal todos los numeros
y luego hacer un left join contra esa tabla.

Veamos un ejemplo:

Use NorthWind
Go

create table #pepe (numero varchar(10))



insert into #pepe values ('m1')
insert into #pepe values ('m3')
insert into #pepe values ('m5')
insert into #pepe values ('m6')
insert into #pepe values ('m7')
insert into #pepe values ('m8')
insert into #pepe values ('m10')


create table #pepefull (numero varchar(10))



Declare @n int
set @n = 1

While @n <= 10
begin
insert into #pepefull values ('m' + convert(varchar(2),@n))
set @n = @n + 1
end



Select p.* from #pepefull p left join #pepe p2
on p.numero = p2.numero
where p2.numero is null



nota: #pepe deberia ser tu tabla en cuestion, solo que yo lo genere asi para
ejemplificar. Tambien deberias poner todo esto en un Store por ej.


Maxi - Buenos Aires - Argentina
Desarrollador 3 Estrellas

Msn_messager:
mail: Maxi.da[arroba]gmail.com

"Martin" escribió en el mensaje
news:
> Que tal.
> Quiero hacer una consulta en donde me diga cuales son los numeros de un
> cierto campo que no se encuentran en él. por ejemplo si en un campo
> llamado
> id_mascota tengo M1 a M100 y de M103 a M500 para obtener el campo maximo
> le
> hago asi: (select
> max(convert(numeric,substring(id_mascota,2,len(id_mascota)))) from
> mascotas)
> y le aumento uno para insertar otro registro que seria el M501, pero como
> puedo saber los numeros que no existen en mi tabla entre el numero menor
> (M1)
> y el numero mayor M(500 en este caso), espero haberme explicado bien y que
> me
> puedan ayudar. Gracias



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