Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/11/2012, 14:00
Garhard
 
Fecha de Ingreso: septiembre-2012
Ubicación: Lima, Perú.
Mensajes: 20
Antigüedad: 11 años, 7 meses
Puntos: 0
Pregunta [Duda] Subconsultas SQL

BD_Gaseosas
1. Mostrar al mejor cliente(distribuidora) de todos los años en solo los meses de verano
(considerar mejor cliente al que acumulo mejor suma de totales por facturas compradas)

Para sacar el máximo suma total se puede intentar con visores o ordenar la lista según totales y mostrar sólo el primero con select top 1. Pero el profe me dice que lo haga en subconsultas, sólo pude hacer lo siguiente:

Código SQL:
Ver original
  1. SELECT D.nombre AS Distri, (Q.cantidad * P.precio) AS Total
  2. FROM Distribuidora D INNER JOIN (Venta V INNER JOIN (Venta_Detalle Q INNER JOIN Producto P ON Q.produc_id = P.produc_id)
  3. ON V.venta_id = Q.venta_id) ON D.distribuidora_id = V.distribuidora_id
  4. WHERE MONTH(V.fecha) IN ('01', '02', '03') AND
  5. (Q.cantidad * P.precio) =
  6. (
  7. SELECT MAX(Q.cantidad * P.precio)
  8. FROM Distribuidora D INNER JOIN (Venta V INNER JOIN (Venta_Detalle Q INNER JOIN Producto P ON Q.produc_id = P.produc_id)
  9. ON V.venta_id = Q.venta_id) ON D.distribuidora_id = V.distribuidora_id
  10. WHERE MONTH(V.fecha) IN ('01', '02', '03')
  11. )
Que saca el total de cada factura, pero cuando intento darle suma a la operación de total, no puedo sacar el máximo ya que en Select no se puede hacer subconsulta como Max(SUM(Q.cantidad * P.precio));

Espero que me ayuden a mostrar una lista que saque el máximo de las sumas totales

Salu2!