Oracle怎么将多行数据转为一行

在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是要查询的表名。

请根据具体情况选择适合的方法。

阅读剩余
THE END