数据:
CASEID | 访问日期 | 问题答案 | COMEFROM||
---|---|---|---|---|
1 | 2021-01 | <1><2>H|||
1 | 2021-01-02 | 第二季度 | 2 | >O |
1 | 2021-01-02 | 第三季度 | 3 | B |
1 | 2021-01-08 | Q1 | 4 | H |
1 | 2021-01-08 | 第二季度 | 第五季度 | O |
1 | 2021-01-08 | 第三季度 | 6 | >B |
您可以使用以下PIVOT代码。执行枢轴操作时,默认情况下,不在枢轴中的列将应用分组。
declare @table table(CaseId int, VisitDate date, Question char(2), Answer int)
insert into @table values
(1 ,'2021-01-02','Q1',1)
,(1 ,'2021-01-02','Q2',2)
,(1 ,'2021-01-02','Q3',3)
,(1 ,'2021-01-08','Q1',4)
,(1 ,'2021-01-08','Q2',5)
,(1 ,'2021-01-08','Q3',6)
SELECT * FROM @table
PIVOT
(
MAX(Answer) FOR Question in ([Q1],[Q2],[Q3])
) as pvt
CaseId | VisitDate | <1>Q1 | <2>Q2 | Q3 |
---|---|---|---|---|
1 | 2021-01 | 1 | 2 | 3|
1 | 2021-01-08 | 4 | 5 | 6 |