oracle 单条数据行转列
时间: 2023-11-24 14:13:09 浏览: 33
在 Oracle 中,你可以使用 PIVOT 操作将单条数据行转换为列。下面是一个示例:
假设你有以下名为 `data_table` 的表,其中包含 `id`、`column_name` 和 `column_value` 列:
```
+----+-------------+--------------+
| id | column_name | column_value |
+----+-------------+--------------+
| 1 | name | John |
| 1 | age | 25 |
| 1 | address | New York |
+----+-------------+--------------+
```
你可以使用以下查询将其转换为列:
```sql
SELECT *
FROM (
SELECT id, column_name, column_value
FROM data_table
)
PIVOT (
MAX(column_value)
FOR column_name IN ('name', 'age', 'address')
);
```
以上查询的结果将会是:
```
+----+------+------+-----------+
| id | NAME | AGE | ADDRESS |
+----+------+------+-----------+
| 1 | John | 25 | New York |
+----+------+------+-----------+
```
这样,每个不同的 `column_name` 将作为结果集中的一列,并将对应的 `column_value` 值填充进去。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)