我在查询中有以下输出。
SKILL LEVEL SCORERANGE
-----------------------------------------------------------------------------
Stunts LOW 0.0 - 4.0
Stunts MED 3.0 - 7.0
Stunts HI 6.0 - 10.0
Pyramids LOW 0.0 - 4.0
Pyramids MED 3.0 - 7.0
Pyramids HI 6.0 - 10.0
Tosses LOW 0.0 - 4.0
Tosses MED 3.0 - 7.0
Tosses HI 6.0 - 10.0
Standing Tumbling LOW 0.0 - 4.0
Standing Tumbling MED 3.0 - 7.0
Standing Tumbling HI 6.0 - 10.0
Running Tumbling LOW 0.0 - 4.0
Running Tumbling MED 3.0 - 7.0
Running Tumbling HI 6.0 - 10.0
Jumps LOW 0.0 - 4.0
Jumps MED 3.0 - 7.0
我想在不汇总任何内容的情况下对这些数据进行 PIVOT。所以我想要一个结果,每个技能只显示一行并以 LEVEL 为中心,像这样......
SKILL LOWRANGE MEDRANGE HIRANGE
Stunts 0.0 - 4.0 3.0 - 7.0 6.0 - 10.0
Pyramids 0.0 - 4.0 3.0 - 7.0 6.0 - 10.0
Tosses 0.0 - 4.0 3.0 - 7.0 6.0 - 10.0
Standing Tumbling 0.0 - 4.0 3.0 - 7.0 6.0 - 10.0
Running Tumbling 0.0 - 4.0 3.0 - 7.0 6.0 - 10.0
...
我确实对基本的数据透视语法有很好的理解,但我在这方面很挣扎,因为结果集中没有什么可以聚合的。
为了给你一些东西来尝试为我解决...
SELECT SKILL, LOWRANGE, MEDRANGE, HIRANGE
FROM (SELECT SKILL, [LEVEL], SCORERANGE FROM ScoreRanges) ps
PIVOT
(
MAX(SCORERANGE) --THIS IS PROBABLY WRONG
FOR SCORERANGE IN
(
--SOMETHING GOES HERE
)
) as pvt
谢谢你的帮助。
赛斯