Lo que salió hoy
- O(n²) · Muy difícil
- Plan completo
- SQL
- modificar datos
- subconsultas
- nulos
Enunciado
Al cerrar el día, el almacén le resta al stock de cada producto lo que se pidió ese día. Hoy, 15 de enero de 2026, la caja anotó los pedidos y nadie tocó el stock.
Escribe el cambio que lo pone al día: a cada producto se le restan las unidades de todos sus pedidos con fecha de hoy, sean uno o varios. Lo que hoy nadie pidió se queda como está. El pedido con fecha del día 20 no entra: mientras nadie corrija esa fecha, no es de hoy.
Se califica mirando el stock de todos los productos. Hoy se puede escribir '2026-01-15' o DATE('now').
Lo que tiene que devolver
Después de tu código se corre esta consulta
SELECT id, nombre, stock FROM productos;Estas filas, en cualquier orden
| id | nombre | stock |
|---|---|---|
| 1 | Teclado | 12 |
| 2 | Ratón | 30 |
| 3 | Monitor | 5 |
| 4 | Cable | 0 |
| 5 | Portátil | 3 |
| 6 | Tableta | 7 |
| 7 | Audífonos | 12 |
| 8 | Parlante | 0 |
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
UPDATE productos
SET stock = stock - 1
WHERE id IN (
SELECT producto_id
FROM pedidos
WHERE fecha = '2026-01-15'
);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²)
- Pasados de plazoSQL · fechas · nulos · uniones
- Paula se vaSQL · modificar datos · subconsultas
- Un aumento, no dosSQL · modificar datos · condicionales
- Un renglón para cada díaSQL · recursión · fechas · ventanas
- ¿Qué día cerramos?SQL · fechas · agrupar · condicionales
- Cada cuánto vuelvenSQL · ventanas · fechas · agrupar