Leandro, funcionó de 1º. Gracias.-

  _____  

De: Leandro [mailto:[EMAIL PROTECTED] 
Enviado el: jueves, 20 de septiembre de 2007 22:41
Para: [EMAIL PROTECTED]
Asunto: [dbms] Re: Nº faltante en secuencia


Alejandro,
Seguramente la gente que realmente sabe le va a poder encontrar una solución
mas efectiva que la que te  paso.Pero si es una query por única vez no
tendría que pasar nada.
Te digo que no le pude dedicar mas de cinco minutos,       [idHoja] [int]
NOT NULL
) ON [PRIMARY]

INSERT INTO dbo.Sec VALUES (1,1)

INSERT INTO dbo.Sec VALUES (1,3) 

INSERT INTO dbo.Sec VALUES (2,1)
INSERT INTO dbo.Sec VALUES (2,2)

INSERT INTO dbo.Sec VALUES (3,1)
INSERT INTO dbo.Sec VALUES (3,2)
INSERT INTO dbo.Sec VALUES (3,4)

Query para encontrar a partir de que numero empiezan los faltantes (si los
faltantes es uno solo modificas con un +1 la query y listo) 

SELECT 
    idLibro,
    idHoja
FROM
    Sec s
WHERE NOT EXISTS (
    SELECT 1 FROM dbo.Sec WHERE 
        Sec.idLibro = s.idLibro 
    AND 
        Sec.idHoja = s.idHoja + 1
) AND 
        s.idHoja != (SELECT max(s2.idHoja) FROM dbo.Sec s2 Where s2.idLibro
= s.idLibro)

Espero te sirva
Saludos
Leandro




On 9/20/07, Alejandro A. ALEKSICH <[EMAIL PROTECTED]> wrote: 

Tengo la siguiente situación:

La base de datos contiene información sobre las hojas de Libros, o sea, un
libro se repite tantas veces como hojas tenga: 

Libro 1 – hoja 1

Libro 1 – hoja 2

Libro 1 – hoja 3

Libro 2 – hoja 1

Libro 2 – hoja 2

Libro 3 – hoja 1 

Libro 3 – hoja 2

Libro 3 – hoja 3

Libro 3 – hoja 4

Etc.

El problema es que el operador cargo mal algunos libros y salteo la
secuencia del nº de hojas. Entonces qued ó:

Libro 1 – hoja 1

--> Falta registro

Libro 1 – hoja 3

Libro 2 – hoja 1

Libro 2 – hoja 2

Libro 3 – hoja 1 

Libro 3 – hoja 2

--> Falta registro 

Libro 3 – hoja 4

¿Se les ocurre alguna manera de encontrar todos los libros en los cuales no
es correlativa la secuencia?, o sea, le falta una hoja.

Gracias.-



Responder a