Orale 多列转多行

1、创建表

create table TESTDATE
(
  calc_type NVARCHAR2(10),
  calc_no   NVARCHAR2(10),
  calc_name NVARCHAR2(10),
  calc_aca1 NVARCHAR2(10),
  calc_aca2 NVARCHAR2(10),
  calc_acn1 NVARCHAR2(10),
  calc_acn2 NVARCHAR2(10)
)
View Code

2、插入数据 如下图

 

 3、sql语句

select calc_type,calc_no,calc_name,aca,acn,newname
from testdate unpivot ((aca,acn) --多列合并一列别名
 for newname in (
   (calc_aca1,calc_acn1),(calc_aca2,calc_acn2) --实际数据库的列明
   ))
View Code

 

posted on 2021-05-28 17:16  lovezj9012  阅读(61)  评论(0)    收藏  举报

导航