我正在使用sql 2008并试图转移一些数据。 Sql Fiddle
我已经尝试但无法弄明白。我想要的是获取数据并让它看起来像这样。
我会把我尝试过但没有任何东西会运行,我无法让它同时执行ExamID和得分,然后转动其余部分。
我尝试过这样简单的事情
SELECT * 来自dbo.Results 枢 (最大值(答案) FOR ExamID IN([19966],[19969]) ) AS p
但返回null。无论如何,一些帮助会很棒。 谢谢 香农
答案 0 :(得分:0)
您可以使用@ bluefeet的答案,但为了匹配您的预期输出,您还需要更改样本数据:
create TABLE Results
(
ExamID INT
, Score INT
, Bank INT
, Answer CHAR(1)
);
INSERT INTO results
( ExamID, Score, Bank, Answer )
VALUES ( 1, 70, 15, 'a' ),
( 1, 70, 16, 'a' ),
( 1, 70, 17, 'b' ),
( 1, 70, 18, 'd' ),
( 1, 70, 19, 'c' ),
( 2, 81, 15, 'b' ),
( 2, 81, 16, 'd' ),
( 2, 81, 17, 'c' ),
( 2, 81, 18, 'c' ),
( 2, 81, 19, 'c' );
透视查询:
select *
from Results
pivot
(
max(answer)
for bank in ([15], [16], [17], [18], [19])
) piv