阅读量:3
在Oracle中,可以使用聚合函数和条件表达式来将多行数据转为一行。以下是两种常用的方法:
- 使用LISTAGG函数:
SELECT LISTAGG(column_name, ', ') WITHIN GROUP (ORDER BY column_name) AS combined_data FROM table_name;
其中,column_name是要合并的列名,table_name是要查询的表名。
- 使用CASE语句和聚合函数:
SELECT MAX(CASE WHEN condition1 THEN column1 END) AS column1, MAX(CASE WHEN condition2 THEN column2 END) AS column2, ... MAX(CASE WHEN conditionN THEN columnN END) AS columnN FROM table_name;
其中,condition是条件表达式,column是要合并的列名,table_name是要查询的表名。
请根据具体情况选择适合的方法。