Saltar al contenido

Pasados de plazo

Enunciado

La biblioteca presta por 3 días, y hasta hoy nadie ha apuntado quién se pasó. La bibliotecaria quiere la lista entera: los préstamos que volvieron tarde y los que siguen fuera con el plazo vencido.

El retraso son los días que el libro estuvo fuera menos los 3 del plazo, contados hasta el día en que volvió o, si no ha vuelto, hasta hoy, 15 de enero de 2026. Un libro que vuelve, o que vence, justo el tercer día está a tiempo y no entra.

Muestra el título, el socio, la fecha de devolución (vacía si sigue fuera) y los días de retraso, en ese orden. Primero el mayor retraso y, si empatan, por título. Hoy se puede escribir '2026-01-15' o DATE('now').

Lo que tiene que devolver

Estas filas, en este orden

titulosociodevueltoretraso
Mapas de salBruno2026-01-0412
El faroAna2026-01-094
Noche largaLuis2026-01-154
El faroDiegoNULL2
Tres inviernosAna2026-01-141

Es lo que sale con los datos de la base de práctica del reto. Los nombres de las columnas no cuentan, las tuyas pueden llamarse como quieras: cuenta cuántas son y en qué orden van. Además de esta, el reto tiene pruebas ocultas con otros datos, que se revelan al enviar tu solución.

Empiezas con esto

SQL

SELECT l.titulo, p.socio, p.devuelto
FROM prestamos p
JOIN libros l
  ON p.libro_id = l.id
WHERE p.devuelto IS NOT NULL;
Resolver este reto

Se abre en el navegador, con el editor y las pruebas. Este reto es del plan completo; los de O(1) y O(log n) son gratis.

Más retos de O(n²)

Ver todos los retos →