Oracle自定议聚合拼接string,同时合并两列时顺序不一样,如:在表中的记录是:
id     info           price
1        计算机*2        20000
1        机械*1        20000
1        计算机*1        10000
1        家具*2        20000
select connstrsum(info)info,connstrsum(price) from product group by id结果为:
info                                                  price
计算机*2,机械*1,家具*2,计算机*1        20000,20000,10000,20000顺序就不对了,家具*2应该是在最后面

解决方案 »

  1.   

    自己顶个先,后面的price 顺序就是对的,求解
      

  2.   

    --确实如此,使用wm_concat也一样,如果每次聚合1列就没有问题
    SELECT a.info, b.price
      FROM (SELECT id, connstrsum(info) info FROM product GROUP BY id) a,
           (SELECT id, connstrsum(price) price FROM product GROUP BY id) b
     WHERE a.id = b.id;
      

  3.   


    select id,wm_concat(tb.info) info,wm_concat(tb.price) price
    from tb
    group by id
      

  4.   

    估计oralce 是一个列 一个列执行的吧