可以使用动态的sql语句
declare
col varhcar2(200);
str varhcar2(200);
begin
col='B1';
str='select * from 字典表 where '||col||'=lbdm';
execute immediate str;
end;
col可以用作参数的插入,可以用存储过程实现。

解决方案 »

  1.   

    要的结果就是:
    A1    B1   C1   D1     E1
    01  苹果  牙膏  电锅   001
    02  蜜桃  牙刷  电风扇 002
      

  2.   

    SELECT A1,(select lbmc from 字典表 where 字典表.lbid=主表.B1)B1, 
    (select lbmc from 字典表 where 字典表.lbid=主表.C1)C1,
    (select lbmc from 字典表 where 字典表.lbid=主表.D1)D1 ,E1 FROM 主表
      

  3.   

    select m.a1,a.lbmc b1,b.lbmc c1,c.lbmc d1,m.e1 from main a,(select m.a1,d.lbmc from 字典表 d,main m where m.b1=d.ldid and d.ldbm=1) a,(select m.a1,d.lbmc from 字典表 d,main m where m.b1=d.ldid and d.ldbm=2) b,(select m.a1,d.lbmc from 字典表 d,main m where m.b1=d.ldid and d.ldbm=3) c where (m.a1=a.a1 and m.a1=b.a1 and m.a1=c.a1)
      

  4.   

    select m.a1,a.lbmc b1,b.lbmc c1,c.lbmc d1,m.e1 
    from 主表 a,
    (select m.a1,d.lbmc from 字典表 d,主表 m where m.b1=d.ldid and d.ldbm=1) b,
    (select m.a1,d.lbmc from 字典表 d,主表 m where m.b1=d.ldid and d.ldbm=2) c,
    (select m.a1,d.lbmc from 字典表 d,主表 m where m.b1=d.ldid and d.ldbm=3) d 
    where (a.a1=b.a1 and a.a1=c.a1 and a.a1=d.a1)
      

  5.   


    create or replace function f_bm(as_bm in varchar2)return varchar2 is
      v_mc varchar2(20);
    begin
      select lbmc into v_mc from 编码表;
    return v_mc;
    exception
    when others them
     return as_bm;
    end;
    调用函数
    select f_bm(ldbm)  from 主表
      

  6.   

    哦.错了  end后面还少个f_bm