Consulta sql
Publicado por Javier (7 intervenciones) el 03/07/2017 17:12:51
Hola a todos, estoy tratando de resolver un ejercicio hace ya un tiempo largo y no puedo hacerlo.
PRODUCTO
id (PK) (INT) IDENTITY
nombre (VARCHAR)
precio (NUMERIC(6,2))
VENTA
id (PK) (INT)
idProducto (INT)
cantidad (INT)
aplicaDescuento (BIT)
descuento (INT)
Resulta que tengo este enunciado..
El monto total ganado del producto que haya tenido mayor cantidad de ventas (se considera la sumatoria de
las cantidades de producto de cada venta). Por ejemplo, si el producto A tiene 2 ventas en donde una fue
de 5 unidades y la otra de 7 unidades, la cantidad de venta seria de 12. Si este fue el producto con más
cantidad de venta calcular cuánto se ganó. Tener en cuenta los descuentos al realizar este cálculo.
Esto debo mostrarlo en la ventana de reportes.. Estoy trabajando con Java!
Creo que la unica forma es obtener de una consulta el resultado, ya que hay que considerar los descuentos que pueden ser distintos.. de 10, 20 y 50 %
select top (1)nombre as Producto, sum(cantidad) as CantidadVendido,sum(precio*cantidad) as MontoTotal
from Ventas v, Productos p
where v.idProducto = p.id
group by nombre
order by sum(cantidad) desc
Si no tendria en cuenta los descuentos esta seria la consulta correcta! Pero al no ser asi necesitaria un poco de su ayuda! Saludos.
PRODUCTO
id (PK) (INT) IDENTITY
nombre (VARCHAR)
precio (NUMERIC(6,2))
VENTA
id (PK) (INT)
idProducto (INT)
cantidad (INT)
aplicaDescuento (BIT)
descuento (INT)
Resulta que tengo este enunciado..
El monto total ganado del producto que haya tenido mayor cantidad de ventas (se considera la sumatoria de
las cantidades de producto de cada venta). Por ejemplo, si el producto A tiene 2 ventas en donde una fue
de 5 unidades y la otra de 7 unidades, la cantidad de venta seria de 12. Si este fue el producto con más
cantidad de venta calcular cuánto se ganó. Tener en cuenta los descuentos al realizar este cálculo.
Esto debo mostrarlo en la ventana de reportes.. Estoy trabajando con Java!
Creo que la unica forma es obtener de una consulta el resultado, ya que hay que considerar los descuentos que pueden ser distintos.. de 10, 20 y 50 %
select top (1)nombre as Producto, sum(cantidad) as CantidadVendido,sum(precio*cantidad) as MontoTotal
from Ventas v, Productos p
where v.idProducto = p.id
group by nombre
order by sum(cantidad) desc
Si no tendria en cuenta los descuentos esta seria la consulta correcta! Pero al no ser asi necesitaria un poco de su ayuda! Saludos.
Valora esta pregunta


0