- 论坛徽章:
- 7
|
- 1. 非常规
- with tb (name,subject,result) as (
- select 'A','语文',74 from dual
- union all
- select 'A','数学',83 from dual
- union all
- select 'A','物理',93 from dual
- union all
- select 'B','语文',74 from dual
- union all
- select 'B','数学',84 from dual
- union all
- select 'B','物理',94 from dual
- ) select * from tb pivot(max(result) for subject in ('语文','数学','物理'));
- 2.常规
- with tb (name,subject,result) as (
- select 'A','语文',74 from dual
- union all
- select 'A','数学',83 from dual
- union all
- select 'A','物理',93 from dual
- union all
- select 'B','语文',74 from dual
- union all
- select 'B','数学',84 from dual
- union all
- select 'B','物理',94 from dual
- ) select name,
- max(case subject when '语文' then result else 0 end) 语文,
- max(case subject when '数学' then result else 0 end) 数学,
- max(case subject when '物理' then result else 0 end) 物理
- from tb
- group by name;
复制代码 |
|