Tema: Consulta SQL
Ver Mensaje Individual
  #2 (permalink)  
Antiguo 30/11/2011, 11:11
MarioHeredia
 
Fecha de Ingreso: noviembre-2007
Ubicación: Argentina
Mensajes: 134
Antigüedad: 16 años, 5 meses
Puntos: 3
Respuesta: Consulta SQL

Hola Link_OOT,

Entiendo tu pregunta y cual es tu problema.

El modelo que planteas esta bien.
Tabla Producto (con todos los datos del producto incluyendo codigo de barras y Id de departamento)
Tabla Deparmento (con todos los datos del departamento incluyendo Id de departamento)
Tabla Cesta (es la tabla que hace la relacion entre las otras dos)

Y para solucionar tu problema, lo que tenemos que hacer es:
1. cruzar las tres tablas correctamente y obtener un listado de todos los productos, los departamentos y las cantidad vendidas.
2. Ordenar las cantidad vendidas por departamento y traer el nombre de ese producto mas vendido.

Aqui un select para esto

Código SQL:
Ver original
  1. SELECT NOMBRE_DEPARTAMENTO,
  2.        CODIGO_PRODUCTO,
  3.        CANTIDAD_VENDIDA,
  4.        ORDEN
  5.   FROM (
  6. SELECT D.NOMBRE        NOMBRE_DEPARTAMENTO,
  7.        C.COD_BARRAS    CODIGO_PRODUCTO,
  8.        C.CANTIDAD      CANTIDAD_VENDIDA,
  9.        ROW_NUMBER() OVER(PARTITION BY D.NOMBRE ORDER BY C.CANTIDAD DESC) ORDEN
  10.   FROM PRODUCTO     P,
  11.        CESTA        C,
  12.        DEPARTAMENTO D
  13.  WHERE P.COD_BARRAS= C.COD_BARRAS
  14.    AND P.ID_DEPARTAMENTO = D.ID_DEPARTAMENTO
  15.        )
  16.  WHERE ORDEN <= 3

Yo le puse los tres mas vendidos, pero se puede cambiar.

Link_OOT, espero verte de nuevo por aqui y que te sirva la consulta.
Te mando un saludo grande,
Mario.
__________________
Y venció David al filisteo con honda y piedra; e hirió al filisteo y lo mató, sin tener David espada en su mano.