Sábado de inventario
- O(n log n) · Difícil
- Plan completo
- SQL
- subconsultas
- agrupar
- uniones
Enunciado
El sábado toca inventario, y la mañana no da para contarlo todo. El dueño empieza por lo que se mueve: los productos que alguien ha pedido alguna vez. Quiere saber cuántas unidades le esperan en cada sección.
Muestra la categoría y cuántas unidades hay en stock de sus productos pedidos, en ese orden. En el almacén cada producto está una sola vez, por muchos pedidos que tenga. El pedido con fecha del día 20 tiene la fecha mal tecleada, pero el pedido existe: cuenta. Una sección de la que no se ha pedido nada no sale.
Lo que tiene que devolver
Estas filas, en cualquier orden
| categoria | unidades |
|---|---|
| Accesorios | 42 |
| Audio | 15 |
| Equipos | 10 |
| Pantallas | 5 |
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 pr.categoria, pr.nombre,
pr.stock
FROM pedidos p
JOIN productos pr
ON p.producto_id = pr.id;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.