sqlserver一列转多列
时间: 2023-08-13 10:04:39 浏览: 88
在 SQL Server 中,可以使用 PIVOT 操作将一列数据转换为多列。下面是一个示例:
假设我们有一个名为 `YourTable` 的表,包含以下数据:
```
ID | Category | Value
---|----------|------
1 | A | 10
1 | B | 20
1 | C | 30
2 | A | 40
2 | B | 50
2 | C | 60
```
要将 `Category` 列转换为多个列,可以使用以下查询:
```sql
SELECT ID, A, B, C
FROM
(
SELECT ID, Category, Value
FROM YourTable
) src
PIVOT
(
SUM(Value)
FOR Category IN (A, B, C)
) pvt;
```
查询结果将如下所示:
```
ID | A | B | C
---|----|----|----
1 | 10 | 20 | 30
2 | 40 | 50 | 60
```
这将创建一个包含 `ID`、`A`、`B` 和 `C` 列的结果集,其中每个 `ID` 对应于相应的值。你可以根据实际情况调整列名和表名。
阅读全文