Я бы не использовал для этого ключевое слово pivot, но я не часто его использую;Я нахожу метод группового случая, когда поворот более легким для понимания и более гибким:
SELECT
CustomerID,
SalesID,
SUM(CASE WHEN product = 'mobile' then commission END) as Total_Mobile_Commission
SUM(CASE WHEN product='tv' THEN comission END) as Total_TV_Commission,
SUM(CASE WHEN product = 'laptop' THEN commission END) as Total_Laptop_Commission,
SUM(CASE WHEN brand = 'xyz' THEN sellprice END as Total_XYZ_Sell_Pric,
SUM(CASE WHEN brand = 'abc' THEN sellprice END) as Total_ABC_SellPrice,
SUM(CASE WHEN brand = 'zxc' THEN sellprice END) as Total_ZXC_SellPrice
FROM table
GROUP BY customerid, salesid
Если вы хотите больше узнать о том, как он работает, запустите его без группировки по и суммируйте ключевые слова, чтобы он нене делать агрегирование (и добавлять в столбцы бренда и продукта).Вы увидите, что ваши данные распределены из 4-столбчатой формы продукта / бренда / цены / комиссии в столбец, который содержит только мобильную комиссию или ноль, другой столбец, который содержит только телевизионную комиссию или ноль и т. Д .;Всего 6 столбцов, которые в большинстве случаев являются нулевыми, но имеют значение, когда бренд или продукт соответствуют названию столбца.Суммируя это, можно свести к одной строке для каждого обычного / торгового агента, уничтожив все нули