Ver Mensaje Individual
  #2 (permalink)  
Antiguo 13/09/2012, 08:30
Avatar de Libras
Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: ¿Es posible esta consulta?

si se puede pero con un simple query no lo vas a lograr deberias de sacar cuales son los huecos en tu tabla digamos metes en una tabla los valores del 1-5000 y luego comparas tus datos contra los valores que tengas en tu tabla de ids :), donde tengas huecos quiere decir que hay un faltante......

algo asi:

Código SQL:
Ver original
  1. CREATE TABLE #temp
  2. (
  3. id INT
  4. )
  5.  
  6. INSERT INTO #temp VALUES (1)
  7. INSERT INTO #temp VALUES (2)
  8. INSERT INTO #temp VALUES (3)
  9. INSERT INTO #temp VALUES (4)
  10. INSERT INTO #temp VALUES (6)
  11. INSERT INTO #temp VALUES (7)
  12. INSERT INTO #temp VALUES (8)
  13. INSERT INTO #temp VALUES (9)
  14. INSERT INTO #temp VALUES (11)
  15. INSERT INTO #temp VALUES (15)
  16.  
  17. DECLARE @total INT
  18. DECLARE @x INT
  19. DECLARE @id INT
  20. SELECT @total=MAX(id) FROM #temp
  21. SET @x=1
  22. while @x<=@total
  23. BEGIN
  24.     SET @id=0
  25.     SELECT @id=id FROM #temp WHERE id=@x
  26.     IF @id=0
  27.         BEGIN
  28.             print 'Numero faltante ' + CONVERT(VARCHAR(20),@x)
  29.             SET @x=@total      
  30.         END
  31.     ELSE
  32.       BEGIN
  33.         SET @x=@x+1
  34.       END
  35. END
esto te regresara cual es el id faltante en la serie :)

saludos!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me