我有一组数据(我将大部分数据视为宽表),如果看起来像这样;
team_a, 10, foo, ..., UK
team_a, 120, bar, ..., US
team_a, 1, abc, ..., DE
team_a, 9, def, ..., ES
team_a, 4, wsd, ..., AUS
team_b, 2, cvb, ..., ES
team_b, 5, klh, ..., UK
team_b, 17, wer, ..., AUS
即每个团队(我们有很多团队)处理来自世界不同地区的物品。目前,这些数据都被提取到一个庞大的excel电子表格中进行分析。但是我被问到是否可以将数据整理成行,以便我得到以下内容
Team UK US ES ...
------------------------------------------------
team_a 10 foo 120 bar 9 def ...
最初我以为我可以使用数据透视表,但是我尝试的时间越长,看起来就越不可能(不太相信Pivot现在是我正在努力实现的正确操作)。从根本上说,我试图根据他们的团队和国家来订购和加入行。
那么,如果我可以在数据透视表中执行此操作,那么下面的SQL有什么问题?
SELECT TeamId, g_1, g_2, [UK] as UK, [US] as US, [ES]
as ES, [DE] as DE, [AUS] as AUS
FROM
(SELECT TeamId,g_1, g_2, CountryName FROM SectionG) g
PIVOT
(COUNT(TeamId) FOR CountryName IN ([UK], [US], [ES],
[DE], [AUS])) as pvt
ORDER BY pvt.TeamId