行转列例子:  

select * from grade  

 

 

 

 

oracle 10g 行列转换 通过decode和union all 实现

 

select student ,max(decode(subject,'en',grade,null)) 英语 ,max(decode(subject,'ch',grade,null)) 语文,
max(decode(subject,'ma',grade,null)) 数学 from grade group by student 

oracle 10g 行列转换 通过decode和union all 实现

列转行:

创建测试表

create table test as
select student ,max(decode(subject,'en',grade,null)) 英语 ,max(decode(subject,'ch',grade,null)) 语文,
max(decode(subject,'ma',grade,null)) 数学 from grade group by student

select * from test

oracle 10g 行列转换 通过decode和union all 实现

 

 

select student,'英语' 科目,英语 from test
union all
select student,'语文' 科目,语文 from test
union all
select student,'数学' 科目,数学 from test

oracle 10g 行列转换 通过decode和union all 实现

 

 

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-06-04
  • 2022-12-23
  • 2022-01-07
  • 2021-05-14
  • 2022-02-12
  • 2022-01-30
猜你喜欢
  • 2021-07-01
  • 2022-12-23
  • 2021-05-03
  • 2022-12-23
  • 2022-02-10
  • 2022-02-12
  • 2021-10-15
相关资源
相似解决方案