MySQL - consulta verifica correlativo

 
Vista:

consulta verifica correlativo

Publicado por Diego (1 intervención) el 02/11/2009 15:49:28
Hola amigos, necesito una ayuda con la creacion de una consultita.

tengo una tabla con un campo id que deberia ser casi correlativo.

Entonces necesito que la consulta me arroje como resultado los numeros que faltan.

ejemplo

id = [1, 2, 3, 4, 5, 6] resultado del select ---> null.

id = [1, 2, 4, 6] resultado del select --> 3, 5
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

RE:consulta verifica correlativo

Publicado por Gonzalo GC (9 intervenciones) el 03/11/2009 00:08:49
Te va a resultar más sencillo hacerlo en la aplicación que lograrlo por una consulta.
Para lograrlo en una consulta deberías poder cruzar esa tabla con otra tabla que contuviese todos los números entre el 1 el máximo número ID de tu tabla (pseudotabla que obviamente no tienes). Esto permitiría retornar aquellos valores de B (segunda tabla) que no se hallen en A (la primera)...
El problema es que debes obtener el maximo ID antes de crear la pseudotabla, para luego cargarla y realizar la consulta... Demasiado complicado.
Recupera el array de IDs y haz un for/next que recorra todos los valores entre el 1 y el último registro y te guarde en una variable los que no encuentre... Eso le llevaría a la PC alrededor de 1 segundo para recorrer la lista y darte el resultado.

Hay cosas que no vale la pena intentarlas en SQL. SOn más simples en PHP, VB.net o C#, simplemente porque están optimizados para esas tareas, y el SQL tiene por objeto las CONSULTAS. No los procesos iterativos.
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