动态sql,拼一个sql的字符串?

解决方案 »

  1.   

    您这表达的意思,我猜是这样的:
    表2有一个字段1,字段1里面存的是表1里面a,b,c三个字段拼接在一起的
    举例:
    表2 字段1
    11,22,33

    表1: a字段          b字段          c字段
    11 22 33如果您要表达的是这个意思,那么查询时候截取一下就可以了,比如:
    select a,b,c from 表1 where  a in (select substr(字段1,1,2) from 表2)
    当然截取的表达式,substr(字段1,1,2)这个可能得看你的数据来定。
    哎,表达能力是硬伤
      

  2.   

    select  name,age,number from 表1其中【name,age,number】 需要select column from 表2 来获取。
      

  3.   

    create table t1
    (
           id varchar(50),
           name varchar(50),
           class varchar(50)
    )
    insert into t2 values ('1','name','class')create table t2
    (
           id varchar(50),
           name varchar(50),
           class varchar(50)
    )
    insert into t2 values ('1','name','class')declare v_sql varchar(2000);
    begin
    select  col2 || ',' || col3 into v_sql from  t1 where col1='1';
    v_sql:='select ' || v_sql || ' from t2' ;
    dbms_output.put_line(v_sql);
    --execute immediate v_sql; 
    end;
      

  4.   

    #4 +1, 这种需用动态SQL来实现