【发布时间】:2013-02-09 08:47:30
【问题描述】:
我有两个结构类似于这样的表:
人:
ID Name Age
1 Jack 25
2 Jill 23
测试:
ID PersonID TestID Result
1 1 1 125
2 1 2 120
3 1 3 75
4 2 1 90
5 2 2 95
6 2 3 7.2
有没有一种方法可以用一条语句检索该数据,使主表中的每条记录都显示在一行中?像这样的:
PersonID Name Age Test1 Test2 Test3
1 Jack 25 125 120 75
2 Jill 23 90 95 7.2
到目前为止,我想出的唯一方法是创建一个迭代详细记录并填充临时表的函数。不是很优雅。
提前致谢
【问题讨论】:
-
我正在使用类似itrain.de/knowhow/sql/tsql/pivot/sp_transform_v1_1.asp 的函数,但我的对你来说太大了。
标签: sql-server pivot crosstab