简体   繁体   English

如何将列转置为行?

[英]How to transpose columns to rows?

I have the following table. 我有下表。 COLUMN_NAME and DATA_TYPE are the column names and below are the values. COLUMN_NAME和DATA_TYPE是列名,下面是值。

COLUMN_NAME      DATA_TYPE
employee_id      int
employee_name    varchar
employee_age     int

I would like to transform that table to the following table: 我想将该表转换为下表:

COLUMN_HEADER_1    COLUMN_HEADER_2    COLUMN_HEADER_3
employee_id        employee_name      employee_age
int                varchar            int

With pivoting: 旋转:

declare @t table(COLUMN_NAME varchar(max), DATA_TYPE varchar(max))
insert into @t values
('employee_id',      'int'),
('employee_name',    'varchar'),
('employee_age',     'int')

select * from @t
pivot(max(DATA_TYPE) for COLUMN_NAME in([employee_id],[employee_name],[employee_age]))p

Output: 输出:

employee_id employee_name   employee_age
int         varchar         int

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM