我有一个更新语句,起初它处理了一些数据,但过了一段时间我遇到了一些 regiters 问题,我收到以下错误: ORA-01427: single-row subquery returns more than one row。我以为是 IN 因为查询可能会返回重复的 ID,所以我放了一个 DISTINCT 但我一直收到同样的错误,有人知道它可能是什么吗?
下面的查询:
UPDATE
TABLE_DETAIL DET
SET
DET.ACCEPTED=?,
DET.VALUE_ACCEPTED=(SELECT RES.VALUE FROM TABLE_RES RES WHERE RES.MYT=DET.MYT AND RES.RAD=DET.RAD AND RES.ITEM=DET.ITEM),
WHERE
DET.ID
IN (
SELECT
DISTINCT DET_I.ID
FROM TABLE_DETAIL DET_I, TABLE_RES RES_I, TABLE_REC REC
WHERE
DET_I.MYT = ?
AND
REC.TEMP
NOT IN (
SELECT DISTINCT TEMP
FROM
TABLE_IMAGES WHERE CODE=?)
AND RES_I.USER = ?
)