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

avatar
作者
猴君
阅读量:3

在Oracle中,可以使用聚合函数和条件表达式来将多行数据转为一行。以下是两种常用的方法:

  1. 使用LISTAGG函数:
SELECT LISTAGG(column_name, ', ') WITHIN GROUP (ORDER BY column_name) AS combined_data FROM table_name; 

其中,column_name是要合并的列名,table_name是要查询的表名。

  1. 使用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是要查询的表名。

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

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!