首页 > 解决方案 > SQL Server Pivot 在两列上

问题描述

我在表格中有以下数据

在此处输入图像描述

我希望数据转换如下。

在此处输入图像描述

标签: sqlsql-server

解决方案


You want conditional aggregation:

select id,
       sum(case when name = 'A' then eng end) as a_eng,
       sum(case when name = 'A' then mat end) as a_mat,
       . . . ,
       sum(case when name = 'B' then eng end) as b_eng,
       sum(case when name = 'B' then mat end) as b_mat,
       . . . 
from t
group by id;

推荐阅读