update DEPTDATADAYSUM set fare5=
(select nvl(a.fare1*b.fare1bankrate,0) from DEPTDATADAYSUM a,farebackrate b 
where a.companycode=b.companycode and a.bankbranch=b.nodecode)

解决方案 »

  1.   

    update DEPTDATADAYSUM set fare5=
    (select decode(a.fare1*b.fare1bankrate,null,0,a.fare1*b.fare1bankrate) from DEPTDATADAYSUM a,farebackrate b 
    where a.companycode=b.companycode and a.bankbranch=b.nodecode)
      

  2.   

    update DEPTDATADAYSUM set fare5=
    (select nvl(a.fare1,0)*nvl(b.fare1bankrate,0) from DEPTDATADAYSUM a,farebackrate b where a.companycode=b.companycode and a.bankbranch=b.nodecode)
      

  3.   

    a和b都有主关键字时,
    update DEPTDATADAYSUM a set fare5=
    nvl((select a.fare1 from a,farebackrate b 
    where a.companycode=b.companycode and a.bankbranch=b.nodecode),0)
      

  4.   

    我用了
    update CUSTDATADAYSUM set fare5=
    nvl((select a.fare1*b.fare1bankrate 
                from CUSTDATADAYSUM a,farebackrate b 
                where a.companycode=b.companycode and a.bankbranch=b.nodecode and b.nodelevel=2),0)
    编译通过,但是执行起来非常慢,几乎没有反应,不知是什么原因,是这条语句本来就复杂吗?
      

  5.   

    “a.fare1*b.fare1bankrate”是什么意思?
    好,如果说不出来的话,那么:
    1.sqlplus下连接进入你的用户
    2.desc CUSTDATADAYSUM;
    3.desc farebackrate;
    请贴出来。
    如果还贴不出来,建议学习Oracle有关书籍,一个月后再发贴吧。