La biblioteca olvida
- O(n²) · Muy difícil
- Plan completo
- SQL
- modificar datos
- subconsultas
Enunciado
Esta biblioteca no guarda la historia de lo que ha leído cada quien. De cada libro conserva un solo préstamo, el último, que le basta para saber quién lo tiene o quién lo tuvo. Los anteriores se borran.
El último préstamo de un libro es el que salió más tarde, por su fecha en prestado. El número de préstamo no sirve para saberlo: el 8 se apuntó después del 7, y salió en diciembre. Un mismo libro no sale dos veces el mismo día. Y el que tiene un solo préstamo lo conserva, haya vuelto o no. Escribe el borrado. Se califica mirando qué préstamos quedan.
Lo que tiene que devolver
Después de tu código se corre esta consulta
SELECT id, libro_id, socio FROM prestamos;Estas filas, en cualquier orden
| id | libro_id | socio |
|---|---|---|
| 3 | 1 | Diego |
| 4 | 4 | Ana |
| 5 | 6 | Camila |
| 6 | 3 | Ana |
| 7 | 7 | Luis |
| 8 | 2 | Bruno |
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
DELETE FROM prestamos
WHERE devuelto IS NOT NULL;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²)
- La caja, día a díaSQL · ventanas · agrupar · condicionales
- La semana del 4SQL · fechas · agrupar · textos
- Llega el miércolesSQL · fechas · condicionales
- Lo que salió hoySQL · modificar datos · subconsultas · nulos
- Pasados de plazoSQL · fechas · nulos · uniones
- Paula se vaSQL · modificar datos · subconsultas