Obtener folios con cantidad de títulos distinto de 34

Edwin Euclides Egger 40 Puntos de reputación
2024-06-13T12:39:48.02+00:00

Tengo un DB sqlserver2014 con las tablas Titulos, Folios y Libros. En Titulos se guardan los datos de los graduados, el Libro y Folio. Libro y Folio se refieren al Libro Matriz (físico, no digital) donde se registran. Cada folio del libro matriz tiene 34 renglones (o filas), Por lo tanto en la tabla Titulos debe haber exactamente 34 registro por cada folio y libro, Excepto para el ultimo folio que puede estar incompleto. Intento hacer una consulta que devuelva los folios que tienen más o menos de 34 registro. La tablas tiene estos campos

Titulos: Idtit, NroRegistro, Nombres, Libro, Folio

Folios: IdLibFol, IdLib, Folio, NroFolio <-- en Folio se guardan datos nvarchar: "124-125". en NroFolio, enteros: 62

Libro: IdLib, Libro.

Mi intento(fallido) (54 es el último folio, este podría estar incompleto)

SELECT T.Libro, T.Folio, F.NroFolio, COUNT(*) AS Cant

FROM Titulos AS T INNER JOIN Folios AS F ON T.Folio = F.Folio

GROUP BY T.Libro, T.Folio, F.IdLibFol, F.NroFolio, F.IdLib

HAVING (COUNT(*) < 34 AND F.IdLib = 7 AND (SELECT MAX(NroFolio) AS MaxNroFolio FROM Folios AS F1 WHERE F1.IdLib = 7) < 54)

OR (COUNT(*) > 34 AND F.IdLib = 7)

Esta consulta me devuelve varios folios con 35 o 36 títulos. Aparentemente cuenta los folios de otros libros. Cual es el problema?

Muchas gracias desde ya.

SQL Server
SQL Server
Familia de sistemas de análisis y administración de bases de datos relacionales de Microsoft para soluciones de comercio electrónico, línea de negocio y almacenamiento de datos.
84 preguntas
0 comentarios No hay comentarios
{count} votos