表中内容如下。
ID  NAME TEL
1   MM   123用select * from table  查出来的效果是,
ID  NAME TEL
1   MM   123现在 想要这样的效果。
ID  NAME TEL  多家的一列
1   MM   123  1,MM,123多家的那一列是前三个的集合。
请问怎么实现。

解决方案 »

  1.   

    select t.*,t.id || ',' || t.name || ',' || t.tel all from table t
      

  2.   

    select id,name,tel,id || ',' || name || ',' || tel "another_col" from table;
      

  3.   

    SELECT id,NAME,tel,id||','||NAME||','||tel FROM table_name
      

  4.   

    select * from table order by id
      

  5.   

     with tb as(
     select 1 id,'mm' name,123 tel from dual
     )--以上为提供数据的语句
     select id,name,tel,id||','||name||','||tel newcol
     from tb
            ID NA        TEL NEWCOL
    ---------- -- ---------- --------------------
             1 mm        123 1,mm,123
      

  6.   


    select ID,NAME,TEL,wm_concat(ID||','||NAME||','||TEL) 
      from tb
     group by ID,NAME,TEL;
      

  7.   

    SELECT id,NAME,tel,id||','||NAME||','||tel FROM table_name
      

  8.   


    select ID,NAME,TEL,ID||','||NAME||','||TEL 
    from table 
      

  9.   

    SELECT id,NAME,tel,id||','||NAME||','||tel FROM table_name
      

  10.   

    SELECT ID,NAME,TEL,ID||','||NAME||','||TEL FROM TABLE
      

  11.   


    SELECT ID,NAME,TEL,ID||','||NAME||','||TEL FROM TABLE
      

  12.   


    || 在Oracle中作为连接字符,就行sql中的+号一样