¿Cómo puedo?

14/03/2005 - 12:12 por Joan Q. | Informe spam
Hola a todos/as

Tengo un select de una relación de trabajadores identificados con un número.
¿Cómo puedo saber el número correlativo libre al número más pequeño?
Es decir que si tengo
1, 2, 3, 5, 6, 10 : la respuesta es 4 que es correlativo a 3
Gracias
Joan Q

Preguntas similare

Leer las respuestas

#1 Carlos Sacristán
14/03/2005 - 12:19 | Informe spam
Prueba con (lo tengo en un script, pero no sé de quién es):

SELECT MIN(campo + 1)
FROM tuTabla
WHERE NOT (campo+ 1) IN (SELECT campo FROM tuTabla)


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Joan Q." escribió en el mensaje
news:
Hola a todos/as

Tengo un select de una relación de trabajadores identificados con un


número.
¿Cómo puedo saber el número correlativo libre al número más pequeño?
Es decir que si tengo
1, 2, 3, 5, 6, 10 : la respuesta es 4 que es correlativo a 3
Gracias
Joan Q


Respuesta Responder a este mensaje
#2 Joan Q.
14/03/2005 - 12:43 | Informe spam
Gracias por tu respuesta Carlos.

Si pongo
select min (t.cod_trabajador + 1 )
from trabajadores t
where not ((t.cod_trabajador + 1 ) in (SELECT t.cod_trabajador from
trabajadores t))
and t.codigoempresa = 0509

Me sale
NULL

(1 filas afectadas)
Cuando sí existen vacíos


"Carlos Sacristán" <csacristanARROBAmvpsPUNTOorg> escribió en el mensaje
news:
Prueba con (lo tengo en un script, pero no sé de quién es):

SELECT MIN(campo + 1)
FROM tuTabla
WHERE NOT (campo+ 1) IN (SELECT campo FROM tuTabla)


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Joan Q." escribió en el mensaje
news:
> Hola a todos/as
>
> Tengo un select de una relación de trabajadores identificados con un
número.
> ¿Cómo puedo saber el número correlativo libre al número más pequeño?
> Es decir que si tengo
> 1, 2, 3, 5, 6, 10 : la respuesta es 4 que es correlativo a 3
> Gracias
> Joan Q
>
>


Respuesta Responder a este mensaje
#3 Carlos Sacristán
14/03/2005 - 12:48 | Informe spam
¿Puedes postear el script de tu tabla y unos datos de ejemplo?


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Joan Q." escribió en el mensaje
news:
Gracias por tu respuesta Carlos.

Si pongo
select min (t.cod_trabajador + 1 )
from trabajadores t
where not ((t.cod_trabajador + 1 ) in (SELECT t.cod_trabajador from
trabajadores t))
and t.codigoempresa = 0509

Me sale
NULL

(1 filas afectadas)
Cuando sí existen vacíos


"Carlos Sacristán" <csacristanARROBAmvpsPUNTOorg> escribió en el mensaje
news:
> Prueba con (lo tengo en un script, pero no sé de quién es):
>
> SELECT MIN(campo + 1)
> FROM tuTabla
> WHERE NOT (campo+ 1) IN (SELECT campo FROM tuTabla)
>
>
> Un saludo
>
> -
> "Sólo sé que no sé nada. " (Sócrates)
>
> "Joan Q." escribió en el mensaje
> news:
> > Hola a todos/as
> >
> > Tengo un select de una relación de trabajadores identificados con un
> número.
> > ¿Cómo puedo saber el número correlativo libre al número más pequeño?
> > Es decir que si tengo
> > 1, 2, 3, 5, 6, 10 : la respuesta es 4 que es correlativo a 3
> > Gracias
> > Joan Q
> >
> >
>
>


Respuesta Responder a este mensaje
#4 Joan Q.
14/03/2005 - 13:43 | Informe spam
Carlos,

He comprobado que la sentencia da un resultado correcto si omito el "and
t.codigoempresa = 0509"
Me da 244 que es el primer codigo de trabajador libre de todos las empresas
que son una 250. A partir del momento que añado al where la pertenencia al
codigoempresa me da NULL
Gracias
Joan Q

"Joan Q." escribió en el mensaje
news:%

"Carlos Sacristán" <csacristanARROBAmvpsPUNTOorg> escribió en el mensaje
news:
> ¿Puedes postear el script de tu tabla y unos datos de ejemplo?
>
>
> Un saludo
>
> -
> "Sólo sé que no sé nada. " (Sócrates)
>
> "Joan Q." escribió en el mensaje
> news:
> > Gracias por tu respuesta Carlos.
> >
> > Si pongo
> > select min (t.cod_trabajador + 1 )
> > from trabajadores t
> > where not ((t.cod_trabajador + 1 ) in (SELECT t.cod_trabajador from
> > trabajadores t))
> > and t.codigoempresa = 0509
> >
> > Me sale
> > NULL
> >
> > (1 filas afectadas)
> > Cuando sí existen vacíos
> >
> >
> > "Carlos Sacristán" <csacristanARROBAmvpsPUNTOorg> escribió en el


mensaje
> > news:
> > > Prueba con (lo tengo en un script, pero no sé de quién es):
> > >
> > > SELECT MIN(campo + 1)
> > > FROM tuTabla
> > > WHERE NOT (campo+ 1) IN (SELECT campo FROM tuTabla)
> > >
> > >
> > > Un saludo
> > >
> > > -
> > > "Sólo sé que no sé nada. " (Sócrates)
> > >
> > > "Joan Q." escribió en el mensaje
> > > news:
> > > > Hola a todos/as
> > > >
> > > > Tengo un select de una relación de trabajadores identificados con


un
> > > número.
> > > > ¿Cómo puedo saber el número correlativo libre al número más


pequeño?
> > > > Es decir que si tengo
> > > > 1, 2, 3, 5, 6, 10 : la respuesta es 4 que es correlativo a 3
> > > > Gracias
> > > > Joan Q
> > > >
> > > >
> > >
> > >
> >
> >
>
>



Respuesta Responder a este mensaje
#5 Joan Q.
14/03/2005 - 13:54 | Informe spam
Bueno ya está. Da el resultado correcto con:

select min (t.cod_trabajador + 1)
from trabajadores t
where (t.cod_trabajador + 1) not in (SELECT t.cod_trabajador from
trabajadores t where t.codigoempresa = 0509)

Muchas gracias por todo
Joan Q

"Joan Q." escribió en el mensaje
news:OR%
Carlos,

He comprobado que la sentencia da un resultado correcto si omito el "and
t.codigoempresa = 0509"
Me da 244 que es el primer codigo de trabajador libre de todos las


empresas
que son una 250. A partir del momento que añado al where la pertenencia al
codigoempresa me da NULL
Gracias
Joan Q

"Joan Q." escribió en el mensaje
news:%
>
> "Carlos Sacristán" <csacristanARROBAmvpsPUNTOorg> escribió en el mensaje
> news:
> > ¿Puedes postear el script de tu tabla y unos datos de ejemplo?
> >
> >
> > Un saludo
> >
> > -
> > "Sólo sé que no sé nada. " (Sócrates)
> >
> > "Joan Q." escribió en el mensaje
> > news:
> > > Gracias por tu respuesta Carlos.
> > >
> > > Si pongo
> > > select min (t.cod_trabajador + 1 )
> > > from trabajadores t
> > > where not ((t.cod_trabajador + 1 ) in (SELECT t.cod_trabajador from
> > > trabajadores t))
> > > and t.codigoempresa = 0509
> > >
> > > Me sale
> > > NULL
> > >
> > > (1 filas afectadas)
> > > Cuando sí existen vacíos
> > >
> > >
> > > "Carlos Sacristán" <csacristanARROBAmvpsPUNTOorg> escribió en el
mensaje
> > > news:
> > > > Prueba con (lo tengo en un script, pero no sé de quién es):
> > > >
> > > > SELECT MIN(campo + 1)
> > > > FROM tuTabla
> > > > WHERE NOT (campo+ 1) IN (SELECT campo FROM tuTabla)
> > > >
> > > >
> > > > Un saludo
> > > >
> > > > -
> > > > "Sólo sé que no sé nada. " (Sócrates)
> > > >
> > > > "Joan Q." escribió en el mensaje
> > > > news:
> > > > > Hola a todos/as
> > > > >
> > > > > Tengo un select de una relación de trabajadores identificados


con
un
> > > > número.
> > > > > ¿Cómo puedo saber el número correlativo libre al número más
pequeño?
> > > > > Es decir que si tengo
> > > > > 1, 2, 3, 5, 6, 10 : la respuesta es 4 que es correlativo a 3
> > > > > Gracias
> > > > > Joan Q
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>
>


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida