【问题标题】:Is there any way that I can distinct with XMLAGG function有什么方法可以区分 XMLAGG 函数
【发布时间】:2018-04-03 16:04:52
【问题描述】:

有什么方法可以区分 XMLAGG 函数。

SELECT DBMS_LOB.SUBSTR(RTRIM(XMLAGG(XMLELEMENT(e,A.COLUMN1 ,';').EXTRACT('//text()') 
                        ORDER BY A.COLUMN3 ).GETCLOBVAL(),';'),4000,1)
                        FROM (SELECT COLUMN1 ,COLUMN2, COLUMN3 FROM 
                        TABLE1) A,
                        TABLE2
                    WHERE A.COLUMN2=B.COLUMN2;

这是该表1的值。所以我想区分column1和column2而不影响column3的顺序

Column1      Column2    Column3
test         apple        1
test         apple        2
test         apple        3
sample       apple        4

输出应该是这样的

column
test
sample

【问题讨论】:

    标签: sql xml plsql oracle11g


    【解决方案1】:

    通过子查询在XMLAGG之前尝试ordergroup,试试看

    SELECT DBMS_LOB.SUBSTR(RTRIM(XMLAGG(XMLELEMENT(e,C.COLUMN1,';').EXTRACT('//text()')
         ).GETCLOBVAL(),';'),4000,1)
    From ( Select A.Column1
           FROM TABLE1 A, TABLE2 B
           WHERE A.COLUMN2=B.COLUMN2
           group by A.Column1, A.Column2
         ) C;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-14
      • 2014-09-08
      • 2010-12-21
      • 1970-01-01
      • 2022-02-16
      相关资源
      最近更新 更多