温馨提示×

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

小亿
527
2024-01-19 09:40:04
栏目: 云计算

在 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 转换为行数据。

0