sqlserver一行转多行的方法是什么

avatar
作者
猴君
阅读量:1

在 SQL Server 中,可以使用 UNPIVOT 操作将一行数据转换为多行数据。UNPIVOT 操作是将列数据转换为行数据的逆操作。

下面是一个示例,展示如何使用 UNPIVOT 将一行数据转换为多行数据:

假设有一个名为 employees 的表,包含以下字段:

employee_idfirst_namelast_namesalary
1JohnDoe5000

可以使用以下查询将一行数据转换为多行数据:

SELECT employee_id, column_name, value FROM employees UNPIVOT (   value FOR column_name IN (first_name, last_name, salary) ) AS unpvt; 

运行以上查询将生成以下结果:

employee_idcolumn_namevalue
1first_nameJohn
1last_nameDoe
1salary5000

在 UNPIVOT 语句中,通过指定 value FOR column_name IN (first_name, last_name, salary) 将列 first_name、last_name 和 salary 转换为行数据。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!