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

2418
2024/1/16 9:40:04
栏目: 云计算
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

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

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

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

employee_id first_name last_name salary
1 John Doe 5000

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

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

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

employee_id column_name value
1 first_name John
1 last_name Doe
1 salary 5000

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

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: sqlserver两列怎么合并成一列