Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Encontrar el producto que más y menos se vende por proveedor

Estas en el tema de Encontrar el producto que más y menos se vende por proveedor en el foro de SQL Server en Foros del Web. Buenas tardes Estimados, Nuevamente solicitando su ayuda, Tengo un problema, deseo conocer los productos que más se vende y los productos que menos se vende, ...
  #1 (permalink)  
Antiguo 18/04/2016, 15:46
 
Fecha de Ingreso: abril-2014
Mensajes: 5
Antigüedad: 10 años, 7 meses
Puntos: 0
Encontrar el producto que más y menos se vende por proveedor

Buenas tardes Estimados,

Nuevamente solicitando su ayuda,

Tengo un problema, deseo conocer los productos que más se vende y los productos que menos se vende, pero esto de cada proveedor.

Lo intentado de varias maneras pero no he logrado obtener el resultado esperado.

Estoy utilizando la base de datos de pruebas NORTHWND

Lo esperado es lo siguiente:
ID PROVEEDOR, PROVEEDOR, NOMBRE-PRODUCTO-MAYOR, CANTIDAD-PRODUCTO-MAYOR, NOMBRE-PRODUCTO-MENOR, CANTIDAD- PRODUCTO-MENOR

Al intentarlo de esta manera, obtengo el resultado esperado pero necesito agregarle el nombre del producto y es ahí donde se arruina todo.

USE NORTHWND
DECLARE @NUM INT = 16
SELECT A.SupplierID [ID PROVEEDOR],
A.PROVEEDOR [NOMBRE PROVEEDOR],
MAX(A.MAYCONTEO) AS [PRODUTO MAYOR VENTA],
MIN(A.MAYCONTEO) AS [PRODUCTO MENOR VENTA]
FROM
(SELECT O.ProductID AS MAYID,
PRO.ProductName PRONAME,
COUNT(O.ProductID) AS MAYCONTEO,
C.SupplierID,
C.CompanyName AS PROVEEDOR
FROM [Order Details] AS O
INNER JOIN Products PRO ON PRO.ProductID=O.ProductID
INNER JOIN Suppliers C ON C.SupplierID=PRO.SupplierID
WHERE C.SupplierID = @NUM
GROUP BY O.ProductID, PRO.ProductName, C.SupplierID, C.CompanyName) AS A
GROUP BY A.SupplierID, A.PROVEEDOR

El resultado es el siguiente:



ID PROVEEDOR, PROVEEDOR, CANTIDAD-PRODUCTO-MAYOR, CANTIDAD- PRODUCTO-MENOR
16 Bigfoot Breweries 36 10

El problema es que si le agrego los campos nombres de producto mayor y menor, me muestra el mismo valor en mayor y menor.
16 Bigfoot Breweries 10 10
16 Bigfoot Breweries 19 19
16 Bigfoot Breweries 36 36



Alguien tendrá una idea como solucionar esto,

De antemano gracias por el apoyo,
  #2 (permalink)  
Antiguo 18/04/2016, 16:39
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Encontrar el producto que más y menos se vende por proveedor

y como queda tu query cuando agregas el cmapo nombre producto??
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 18/04/2016, 17:05
 
Fecha de Ingreso: abril-2014
Mensajes: 5
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: Encontrar el producto que más y menos se vende por proveedor

Queda de la siguiente manera:

ID PROV,______Nom-Prov,______NOM-PROD-MAYOR,___CANT-PROD-MAYOR,_____NOM-PROD-MENOR,_____CANT- PROD-MENOR
__16______Bigfoot Breweries________carne_______________________10___ __________________carne_____________________10
__16______Bigfoot Breweries_________pollo_______________________19__ ___________________pollo_____________________19
__16______Bigfoot Breweries_________pezcado____________________36___ __________________pezcado__________________36

Última edición por edmec; 18/04/2016 a las 17:22
  #4 (permalink)  
Antiguo 18/04/2016, 20:44
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Encontrar el producto que más y menos se vende por proveedor

Y el query? No pregunte por resultados sino por como estas agregando el nombre del producto..
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Etiquetas: encontrar, menos, producto, proveedor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:44.