SELECT VC_CODE FROM TCODES WHERE VC_CODENO = '0001'结果是这样的:VC_CODE
-------
1001
2001
3001
如果何用一条查询语句得到以下结果:VC_CODE
--------------
1001,2001,3001

解决方案 »

  1.   

    10g以上的话
    SELECT wmsys.wm_concat(VC_CODE) FROM TCODES WHERE VC_CODENO = '0001';
      

  2.   

    select industry, sys_connect_by_path(industry, ',')
      from (select * ,rownum rn
      from t
      )
     start with rn = 1
    connect by rn-1 = prior rn;
    9i的,楼主对照考下
      

  3.   

    select ltrim(sys_connect_by_path(VC_CODE, ','), ',') --去掉首尾的,
      from (SELECT VC_CODE, rownum rn FROM TCODES WHERE VC_CODENO = '0001')
     start with rn = 1
    connect by rn - 1 = prior rn;
    改进了下
      

  4.   

    4楼的9i、10g及以上版本都能通过,我写的要10g以上才行
      

  5.   

    select max(ltrim(sys_connect_by_path(VC_CODE, ','), ',')) --去掉首尾的,
      from (SELECT VC_CODE, rownum rn FROM TCODES WHERE VC_CODENO = '0001')
     start with rn = 1
    connect by rn - 1 = prior rn;