我尝试检索输出格式,但只有一列能够绑定。我在Sql server 2008 R2中工作。我工作了2天,但我似乎无法绑定它。我需要这个而不使用pivot和unpivot函数。
表格
| AAA | AA+ | AA | AA-
---------------------------------------------
A | 6.05 | 7.15 | 9.5 | 8.5
B | 3.02 | 4.58 | 6.25 | 7.25
C | 2.25 | 1.02 | 0 | 6
输出:
No | A | B | C
----------------------------
AAA | 6.05 | 3.02 | 2.25
AA+ | 4.05 | 3.04 | 1.02
AA | 3.02 | 4.05 | 0
AA- | 2.03 | 3.01 | 6
答案 0 :(得分:0)
您可以使用apply
和条件聚合:
select v.no,
max(case when t.col = 'A' then v.val end) as a,
max(case when t.col = 'B' then v.val end) as b,
max(case when t.col = 'C' then v.val end) as c
from t cross apply
(values ('AAA', AAA), ('AA+', [AA+]), ('AA', AA), ('AA-', [AA-])
) v(no, val)
group by v.no;