Oracle &引用;单行子查询返回多行;三张桌子

Oracle &引用;单行子查询返回多行;三张桌子,oracle,oracle11g,oracle-sqldeveloper,Oracle,Oracle11g,Oracle Sqldeveloper,我在将工资单数据输入列时遇到问题 表AA ID_USER PERIOD SALARY 1001 1-MAY-2012 ? 1002 1-MAY-2012 ? 1001 1-JUN-2012 ? 1002 1-JUN-2012 ? 表BB ID_USER Name ID_SALARY

我在将工资单数据输入列时遇到问题

表AA

ID_USER      PERIOD          SALARY          

1001        1-MAY-2012         ?
1002        1-MAY-2012         ?
1001        1-JUN-2012         ?
1002        1-JUN-2012         ?
表BB

  ID_USER      Name          ID_SALARY           

1001        Rayker          1
1002        Jones           2
1003        Wiliam          2
表CC

    ID_SALARY    SALARY             

  1          $50          
  2          $60 
这是我的剧本:

UPDATE "AA" A 
SET A.SALARY = (select C.SALARY from "BB" B,"CC" C where B.ID_SALARY=C.ID_SALARY)
WHERE EXISTS( SELECT B.ID_USER FROM "AA" A, "BB" B  WHERE A.ID_USER = B.ID_USER )
ORDER BY A.ID_USER

更新“AA”A
设置A.SALARY=(从“BB”B,“CC”C中选择C.SALARY,其中B.ID\u SALARY=C.ID\u SALARY)
存在的位置(从“AA”A,“BB”B中选择B.ID\u用户,其中A.ID\u用户=B.ID\u用户)
由A.ID\U用户订购

这一定足够了

UPDATE "AA" A 
SET A.SALARY = (select C.SALARY from "BB" B,"CC" C where B.ID_SALARY=C.ID_SALARY AND B.ID_USER = A.ID_USER)