Есть вот такой запрос
SELECT
ISNULL(cast(Seller as varchar(30)),
case when GROUPING(Seller)=1
then 'ALL' end) as Seller,
ISNULL(cast(ContactName as varchar(30)),
case when GROUPING(ContactName)=1
then 'ALL' end) as Cust,
COUNT(*) AS Ammount
FROM (SELECT EmployeeID,CONCAT(FirstName,' ',LastName) AS Seller
FROM Northwind.Employees) A LEFT JOIN
(SELECT EmployeeID,CustomerID
FROM Northwind.Orders
WHERE YEAR(OrderDate)=1998
GROUP BY EmployeeID,CustomerID) B
ON A.EmployeeID=B.EmployeeID LEFT JOIN
(SELECT ContactName,CustomerID FROM Northwind.Customers) C
ON C.CustomerID = B.CustomerID
GROUP BY cube(ContactName,Seller)
ORDER BY ContactName,Seller
Сейчас он выводит Сперва ALL|ALL|Amount,
Далее - Имя|ALL|Amount,
а дальше уже идет вот так
А вот как оно должно быть
Seller Customer Amount
ALL ALL <общее число продаж>
<имя> ALL <число продаж для данного продавца>
ALL <имя> <число продаж для данного покупателя>
<имя> <имя> <число продаж данного продавца для даннного покупателя>