> misión 6/8 · 30 min

Cruzar tablas

Mensaje de Rodrigo Henríquez, gerente comercial de Minimarkets del Sur

Los resúmenes con códigos no me sirven para el directorio. Necesito las ventas por ciudad, con el nombre de la ciudad, y el top 10 de productos más vendidos en unidades, con su nombre. Si dos productos venden lo mismo, ordénalos alfabéticamente.

Concepto

La tabla ventas guarda local_id y producto_id, no los nombres. Para traerlos se cruzan las tablas con JOIN, igual que el BUSCARV de las planillas, pero para todas las filas a la vez:

SELECT v.id, v.monto, l.nombre FROM ventas v JOIN locales l ON v.local_id = l.id LIMIT 5
  • ventas v y locales l les dan un alias corto a las tablas.
  • ON v.local_id = l.id dice qué columnas tienen que coincidir.
  • Con alias, cada columna se escribe con su tabla: v.monto, l.nombre. Así no hay dudas cuando dos tablas tienen una columna con el mismo nombre, como id.

Después del JOIN se puede agrupar, filtrar y ordenar como siempre:

SELECT l.ciudad, SUM(v.monto) AS ventas
FROM ventas v
JOIN locales l ON v.local_id = l.id
GROUP BY l.ciudad

> tarea SQL

Trae cada ciudad y la suma de los montos de venta de su local.

Tablas disponibles
  • locales: id, nombre, ciudad, region, metros2
  • productos: id, nombre, categoria, precio, proveedor
  • ventas: id, fecha, local_id, producto_id, cantidad, monto, medio_pago

Primero intenta: las pistas aparecen después de 2 intentos con un resultado incorrecto (los errores de código no cuentan). Llevas 0.

> tarea SQL

Trae el nombre de los diez productos con más unidades vendidas y sus unidades, de mayor a menor. Si empatan, ordénalos por nombre.

Tablas disponibles
  • locales: id, nombre, ciudad, region, metros2
  • productos: id, nombre, categoria, precio, proveedor
  • ventas: id, fecha, local_id, producto_id, cantidad, monto, medio_pago

Primero intenta: las pistas aparecen después de 2 intentos con un resultado incorrecto (los errores de código no cuentan). Llevas 0.

> decisión

Al cruzar productos con ventas, la Kombucha artesanal no aparece en ningún resultado, aunque está en el catálogo. ¿Qué significa?

Cargando opciones…

Aprueba las tareas de esta misión para ver el cierre.