我想找到每个员工与大多数收入的产品并列销售的最频繁的产品。我写了一些例子,以便更清楚。选择最频繁的值与总和
DECLARE @Products TABLE(ID INT, ProductName NVARCHAR(50), Price DECIMAL)
DECLARE @Employees TABLE(ID INT, EmployeeName NVARCHAR(50))
DECLARE @Sales TABLE(ID INT, EmployeeID INT, ProductID INT, Quantity INT)
INSERT INTO @Products VALUES
(1, N'Product1', 300),
(2, N'Product2', 500),
(3, N'Product3', 700),
(4, N'Product4', 800)
INSERT INTO @Employees VALUES
(1, N'Employee1'),
(2, N'Employee2'),
(3, N'Employee3')
INSERT INTO @Sales VALUES
(1,1,2,3),
(2,1,3,4),
(3,1,2,5),
(4,2,2,7),
(5,2,4,3),
(6,3,2,3),
(7,3,2,9),
(8,3,4,8)
连接表看起来喜欢这样的:
我写了一些选择
SELECT
e.EmployeeName
,p.ProductName
,SUM(s.Quantity) AS Quantity
,p.ProductName
,SUM(s.Quantity * p.Price) AS Price
FROM @Products p
INNER JOIN @Sales s ON s.ProductID = p.ID
INNER JOIN @Employees e ON s.EmployeeID = e.ID
GROUP BY e.EmployeeName, p.ProductName
ORDER BY SUM(s.Quantity) DESC, SUM(s.Quantity * p.Price)
我想写这个格式的选择,单独为每个雇员订购产品名称和总量,产品名称和价格总和。
预期的输出应该
EmployeeName ProductName Quantity ProductName Price
------------ ----------- -------- ----------- ------
Employee3 Product2 12 Product4 6400
Employee1 Product2 8 Product2 4000
Employee3 Product4 8 Product2 6000
Employee2 Product2 7 Product2 3500
Employee1 Product3 4 Product3 2800
Employee2 Product4 3 Product4 2400
我相信,数量和价格进行排序根据您的选择声明。首先按数量递减,然后按价格递增排序。 – NickyvV
请发布预期的输出以及 – Susang
@NickyvV是的但价格不是订购升序 – www1986