在 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 轉換為行數據。