使用select子查询执行更新查询,返回ora-01427错误

时间:2014-12-03 02:36:03

标签: oracle subquery

我需要使用select子查询的结果更新一个表中的列(它们最终应该不同)。但是当我这样做时,我得到了' ORA-01427:单行子查询返回多个行查询'错误。

请你看一下,看看我在俯瞰什么? (我可以忽视一些简单的事情,我知道)

UPDATE AIRMODEL_NETWORK_SUMMARY ans
SET ANS.NBR_RETURNS = (  
    SELECT SUM(RQ.RETURN_QTY)
    FROM RETURN_QTY RQ JOIN AIRMODEL_NETWORK_SUMMARY ANS ON RQ.LOC_ID = ANS.LOC_ID
    WHERE RQ.FSCL_YR_NUM       = ans.FSCL_YR_NUM
    AND RQ.FSCL_WK_IN_YR_NUM =
      ans.FSCL_WK_IN_YR_NUM
    GROUP BY ANS.LOC_ID,
      ans.FSCL_WK_IN_YR_NUM,
      ANS.FSCL_YR_NUM
        );

1 个答案:

答案 0 :(得分:1)

我认为您的内部查询与您尝试更新的表格没有很好的相关性。请看这里Oracle SQL: Update a table with data from another table。您应该添加某种where条件,将您尝试更新的行与内部语句计算的值相关联。