postgresql 列转行的办法
时间: 2023-08-06 17:06:19 浏览: 202
在PostgreSQL中,可以使用UNION ALL和CASE语句来实现列转行的操作。下面是一个示例:
假设有一个名为"table_name"的表,包含以下列:column1、column2、column3。要将这些列转换为行,请使用以下查询:
```
SELECT 'column1' AS column_name, column1 AS column_value FROM table_name
UNION ALL
SELECT 'column2' AS column_name, column2 AS column_value FROM table_name
UNION ALL
SELECT 'column3' AS column_name, column3 AS column_value FROM table_name;
```
这将返回一个结果集,其中包含两列:column_name和column_value,其中column_name表示原始表中的列名,column_value表示该列对应的值。
你可以根据实际需求修改查询语句,添加或删除列。注意使用UNION ALL而不是UNION,这样可以包含重复的值。如果不需要重复的值,可以使用UNION。
希望这可以帮助到你!如果你还有其他问题,请随时提问。
阅读全文