test3.emp_id=payroll_item.emp_id应去掉。

解决方案 »

  1.   

    SQL> update payroll_item
      2  set amount=(
      3  select personal_tax
      4  from test3
      5  where test3.emp_id=payroll_item.emp_id)  6  where payroll_item.emp_id in (select emp_id from test3)
      7  and payroll_item.item_id='0157'
      8  and payroll_item.pay_id=11;
      

  2.   

    挂号里面的where test3.emp_id=payroll_item.emp_id
    能限制住外面的where test3.emp_id=payroll_item.emp_id这个条件吗??
    结果出不来,没有提示
      

  3.   

    update payroll_item
      set amount=(
      select personal_tax
      from test3
      where test3.emp_id=payroll_item.emp_id)
     where payroll_item.emp_id in (select emp_id from test3)
     and payroll_item.item_id='0157'
     and payroll_item.pay_id=11;
      

  4.   

    不动了,罢工死掉了还是正在处理
    总共emp_id 300条记录吧
      

  5.   

    update payroll_item
      set amount=(
      select personal_tax
      from test3
      where test3.emp_id=payroll_item.emp_id)
     where 
    exist(select * from test3 where payroll_item.emp_id=test3.emp_id ) and payroll_item.item_id='0157'
     and payroll_item.pay_id=11;效率高
      

  6.   

    SQL> update payroll_item
      2    set amount=(
      3    select personal_tax
      4    from test3
      5    where test3.emp_id=payroll_item.emp_id)
      6   where exist(select * from test3 where payroll_item.emp_id=test3.emp_id)
      7   and payroll_item.item_id='0157'
      8    and payroll_item.pay_id=11;
     where exist(select * from test3 where payroll_item.emp_id=test3.emp_id)
                 *
    ERROR 位于第 6 行:
    ORA-00936: missing expression
      

  7.   

    sorry
    exist -----> EXISTS
      

  8.   

    是啊
    子查询
    select A(
             select B
                  (
      

  9.   

    update payroll_item
       set amount=(
       select personal_tax
       from test3
       where test3.emp_id=payroll_item.emp_id)
      where exists (select * from test3 where test3.emp_id=payroll_item.emp_id)
     and payroll_item.item_id='0157'
     and payroll_item.pay_id=11;这里是该没问题的,但是结果没出来,不知道怎么回事情?
    父查询的表可引用到子查询
    但是子查询的表不可引用到父查询