PIVOT operator in T-SQL allows only one pivot column, so if you do want to use the PIVOT operator, you would have to pivot them separately and then join the 3 sub-pivots somehow. Not sure that that is the most readable or efficient approach. For what it is worth, what I am thinking is something like this, but not necessarily recommending this:SELECT * FROM
(SELECT a AS AQty, b AS BQty, c AS CQty FROM
(SELECT CompanyName,qty FROM Tbl ) s
PIVOT(SUM(qty) FOR companyname IN ([a],[b],[c]))P1 )P1
CROSS JOIN
(SELECT a AS AAmount, b AS BAmount, c AS CAmount FROM
(SELECT CompanyName,amount FROM Tbl ) s
PIVOT(SUM(amount) FOR companyname IN ([a],[b],[c]))P2 )P2
CROSS JOIN
(SELECT a AS ATax, b AS BTax, c AS CTax FROM
(SELECT CompanyName,tax FROM Tbl ) s
PIVOT(SUM(tax) FOR companyname IN ([a],[b],[c]))P3 )P3