有一个数据字典表A:字段a1,a2,a3
一张表B:字段b1,b2,b3,b4
b2,b3,b4分别对应到a2但条件是
a1="aa"时,取出b2对应的a3值,设别名为b21,
a1="bb"时,取出b3对应的a3值,设别名为b31,
a1="cc"时,取出b4对应的a3值,设别名为b41,
需要的结果是一张新表:b1,b21,b31,b41。
换句话说把b2,b3,b4的数据都找到A表中对应的字典值
如果能够用一句SQL完成的话,我就可以做个视图了,不知有没有高手会写?急!!!!!!

解决方案 »

  1.   

    产生一个新表格再用decode好像可以,但中间结果是视图却不行。
    用一个复合sql语句写,我不会。
      

  2.   

    select b1 ,
    (select A.a3 from A where A.a1='aa' and A.a2=B.b2 and row_num = 1 ) as b21 ,
    (select A.a3 from A where A.a1='bb' and A.a2=B.b3 and row_num = 1 ) as b31 ,
    (select A.a3 from A where A.a1='cc' and A.a2=B.b4 and row_num = 1 ) as b41 
    from B
    /