如何在oracle中使用COALESCE来组合来自两行的数据

时间:2009-10-23 15:53:06

标签: oracle

我有以下查询,它在循环中并且正在破坏

SELECT   COALESCE(v_user_grade || ', ', '') || user_grade
          INTO v_user_grade
          FROM EXPIRATION_HISTORY__2
           WHERE hist_id = v_test;

所以基本上在循环的每次迭代中我们都得到了v_test的新值。在某些情况下,此查询将返回多行。那是它破碎的时候。

我想要的是:

EXPIRATION_HISTORY__2中的数据:

hist_id    user_grade
301     ADMIN
302     ADMIN
302     USER

所以现在根据以上数据。 ...在v_test = 302的迭代结束时。我希望v_user_grade包含(ADMIN, USER

1 个答案:

答案 0 :(得分:1)

我认为以下链接准确描述了您想要的内容:

http://www.oracle-base.com/articles/10g/StringAggregationTechniques.php

  

字符串聚合技术

     

有时需要汇总   数据从多行进入   单行,给出一个数据列表   与特定值相关联。

我不是Oracle专家;但是有多种解决方案,具体取决于您的数据库环境。