一个sql办不到。
得写一个过程

解决方案 »

  1.   

    你写个FUNCTION 做个循环,之后
    select function_xxx()from dual;
    算不算1条sql啊,从效果看是一条
      

  2.   

    我也关注这个问题,本来觉得在Group Function里可能会找到,但是没有,不能找到自己建吧,为了性能考虑想直接创建一个新的Group Function,可是Oracle似乎不支持创建Group Function?
      

  3.   

    SQL Server中有这样一个函数REPLICATE('A',3),可以形成'AAA',ORACLE中有没有类似的函数?
      

  4.   

    可以的。
    但不是用select语句。
    用procedure。
      

  5.   

    現在發現經常有人提出要用一個SQL語句完成各種各樣的查詢,
    我個人認為這是一個很大的誤區,
    ORALCE的功能和強大,
    SQL查詢語句是它的一個部分而已,
    應該嘗試更深入的研究而不要每天在為SQL語句的排列和技巧努力
      

  6.   

    SQL  >  select  job,ename  from  emp;  
     
    JOB              ENAME  
    ---------  ----------  
    CLERK          SMITH  
    SALESMAN    ALLEN  
    SALESMAN    WARD  
    MANAGER      JONES  
    SALESMAN    MARTIN  
    MANAGER      BLAKE  
    MANAGER      CLARK  
    ANALYST      SCOTT  
    PRESIDENT  KING  
    SALESMAN    TURNER  
    CLERK          ADAMS  
     
    JOB              ENAME  
    ---------  ----------  
    CLERK          JAMES  
    ANALYST      FORD  
    CLERK          MILLER  
     
    已选择14行。  
     
    SQL  >  create  or  replace  function  f_ename(jobno  in  varchar2)  
       2    return  varchar2  is  
       3      
       4    str_return  varchar2(200);  
       5    cursor  c_ename(v_jobno  varchar2)  is  select  ename  from  emp  where  job=v_jobno;  
       6    begin  
       7    for  str_temp  in  c_ename(jobno)  loop  
       8    str_return:=str_return  |  |str_temp.ename;  
       9    end  loop;  
     10    return  str_return;  
     11    end;  
     12    /  
     
    函数已创建。  
     
    SQL  >  select  f_ename(job)  from  (  
       2    select  distinct  job  from  emp);  
     
    F_ENAME(JOB)  
    ---------------------------------------  
     SCOTT  FORD  
     SMITH  ADAMS  JAMES  MILLER  
     JONES  BLAKE  CLARK  
     KING  
     ALLEN  WARD  MARTIN  TURNER  
     
    SQL  >  
    加上job列:  
    SQL  >  select  job,f_ename(job)  from  (  
       2    select  distinct  job  from  emp);  
     
    JOB            F_ENAME(JOB)  
    -------------------------------------------------------  
    ANALYST  SCOTT  FORD  
    CLERK  SMITH  ADAMS  JAMES  MILLER  
    MANAGER  JONES  BLAKE  CLARK  
    PRESIDENT  KING  
    SALESMAN  ALLEN  WARD  MARTIN  TURNER
      

  7.   

    同意baojianjun(包子) 兄的看法。
    大家不应该太依赖技巧!
      

  8.   

    如果你用oracle9i可以用CREATE AGGREGATE FUNCTION 建一个函数将字符串合并起来