在Oracle中,如果单个子查询返回多个行,可以使用子查询中的聚合函数来解决这个问题。你可以使用函数如MAX、MIN、SUM、COUNT等来聚合子查询结果,以便返回单个值。

根据你的更新语句,你可以尝试使用MAX函数来聚合子查询结果,如下所示:

UPDATE sysmn.昊泽对接_职员 sh 
SET sh.职称 = (
    SELECT MAX(group_id) 
    FROM sysmn.sys_group 
    WHERE del_flag = '0' 
    AND sh.职称 = group_name
) 
解决单个子查询返回多个行

这样,子查询就会返回最大的group_id作为职称值,而不是返回多个行。注意,你可能需要根据你的实际需求来选择合适的聚合函数,比如使用MIN函数返回最小值。

update sysmn昊泽对接_职员 sh set sh职称 = select group_id from sysmnsys_group where del_flag = 0 and sh职称 = group_name 解决单个子查询返回多个行 oracle

原文地址: https://www.cveoy.top/t/topic/iHFB 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录