我有一个查询需要更新另一个表的一些元组,我只需要更新两条记录,每条记录对应的值是从另一个表中获取的,目前我的查询工作正常,没有输入错误,但它获取了零条记录,因此我的其他表的查询,我发现我的内部子查询无法获取相关数据,但我无法测试我的内部子查询,因为它需要两个表的引用
下面是查询
UPDATE SALARY_DETAIL_TBL sd
SET GROSS_EARNING =(SELECT AMOUNT FROM SALARY_DETAIL_REPORT sr WHERE sd.EMP_ID = sr.EMP_ID AND sr.PAY_CODE = 997) ,
GROSS_DEDUCTION =
(SELECT AMOUNT
FROM SALARY_DETAIL_REPORT sr
WHERE sd.EMP_ID = sr.EMP_ID
AND sr.PAY_CODE = 998
)
WHERE (GROSS_EARNING IS NULL
OR GROSS_DEDUCTION IS NULL)
列GROSS_EARNING
和GROSS_DEDUCTION
由内部查询填充,内部查询产生零结果,我想测试是单独的,请建议我最好的可能的解决方案。
现在它抛出
UPDATE SALARY_DETAIL_TBL sd
SET GROSS_EARNING =(SELECT AMOUNT FROM SALARY_DETAIL_REPORT sr WHERE sd.EMP_ID = sr.EMP_ID AND sr.PAY_CODE = 997) ,
GROSS_DEDUCTION =
(SELECT AMOUNT
FROM SALARY_DETAIL_REPORT sr
WHERE sd.EMP_ID = sr.EMP_ID
AND sr.PAY_CODE = 998
)
WHERE (GROSS_EARNING IS NULL
OR GROSS_DEDUCTION IS NULL)
BadSqlGrammerException: single-row subquery returns more than one row
转载请注明出处:http://www.eluwawa.com/article/20230526/1565538.html