我需要一个SQL Server查询来按销售人员按地区显示销售网格,如下所示:
region Mitchell Mark Manny Moe
-----------------------------------------
West 0 0 0 0
North 0 1 1 1
East 1 0 0 0
South 0 0 0 0
如何让我的SQL查询输出这样的数据?我知道我可以使用它来返回数据,但它没有正确的细分或格式。
Select region, salesperson, Count(Sales)
from salesdatabase
group by region, salesperson
答案 0 :(得分:2)
你可以 PIVOT 你的桌子。试试这个:
;WITH DATA AS
(
SELECT region, salesperson, Sales
FROM salesdatabase
)
SELECT region
,[Mitchell]
,[Mark]
,[Manny]
,[Moe]
FROM DATA AS D
PIVOT (COUNT(Sales) FOR salesperson IN ([Mitchell], [Mark], [Manny], [Moe])) AS P;
您可以找到更多信息here。