如: 1,汽车A
      1,汽车B
      2,货车A
      2,货车B
怎么查询出 结果是 汽车A,汽车B.. 
谢谢哈

解决方案 »

  1.   

    http://topic.csdn.net/u/20090505/14/9aa2984a-5f19-4525-a2c0-9978824b5e55.html
    这边有个,希望有帮组
      

  2.   

    我的测试表结构,是下面这样的:这边的ID相当于你的ID,NAME相当于你的"汽车A"啊什么的值,
            ID NAME 
    ---------- -------------------- 
            1  A 
            2  B 
            3  C 
            4  D 
            5  E 
            6  F 
            1  B 
            1  C 
            4  A 
            4  B 
            4  C执行下面的SQL之后:
    SELECT id, str 
      FROM (SELECT id, 
            row_number() over(PARTITION BY id ORDER BY name) AS rn, 
            name || lead(',' || name, 1) over(PARTITION BY id ORDER BY name) || lead(',' || name, 2) over(PARTITION BY id ORDER BY name) || lead(',' || name, 3) over(PARTITION BY id ORDER BY name) AS str 
           FROM test_row_cell) 
     WHERE rn = 1 
    ORDER BY 1; 得到下面的结果:
            ID  STR 
    ---------- -------------------------------------------------------------------------------- 
            1   A,B,C 
            2   B 
            3   C 
            4   A,B,C,D 
            5   E 
            6   F