有一个表,结构和内容如下:
table Name:Test
FieldOne FieldTwo
AAAAAAAA A01
AAAAAAAA A02
AAAAAAAA A33
BBBBBBBB BB1
BBBBBBBB BP1
CCCCCCCC ZZZZ
CCCCCCCC QQQQQQ
MMMMMMMM RRRR
.................如何用SQL取得下面的数据
AAAAAAAA A01,A02,A33
BBBBBBBB BB1,BP1
CCCCCCCC ZZZZ,QQQQQQ
MMMMMMMM RRRR
.....

解决方案 »

  1.   

    请看这个
    http://community.csdn.net/Expert/topic/5037/5037398.xml?temp=.509762
      

  2.   

    CREATE OR REPLACE FUNCTION get_c2(fo varchar2(4000))  
    RETURN VARCHAR2  
    IS  
    Col_c2 VARCHAR2(4000);  
    BEGIN 
    FOR cur IN (SELECT t.FieldTwo FROM Test t WHERE t.FieldOne = fo) LOOP   
    Col_c2 := Col_c2|| ',' || cur.FieldTwo;
    END LOOP;  
    Col_c2 := rtrim(Col_c2,1); 
    RETURN Col_c2;  
    END; 

    select t.FieldOne, get_c2(FieldOne)
    from Test
    group by t.FieldOne调试下就ok。