正如标题所示,我正在尝试为较低级别的.one 列 a1 更新层次结构表 A,该列来自 tableA,来自另一个 tableB 中的列 b1,该列具有较低级别的分配。规则是在tableA.aid=tableB=bid 和过滤tableA.lvl_nbr=7(较低级别)时将tableB.rcdind 分配给tableA.asgnflg
它抛出错误
ORA-01427: 当我执行以下更新查询时,单行子查询返回多行。
UPDATE tableA A
SET A.asgnflg=(SELECT B.rcdind FROM
(SELECT A.aid ,C.rcd_ind FROM tableA A,(SELECT DISTINCT B.bid,B.rcdind FROM tableA A,tableB B WHERE A.aid=B.bid)C
WHERE A.aid=C.bid
AND A.lvl_nbr=7
))
表 A 中的援助计数为 443,其中表 B 中的不同投标计数为 138。
我可以在子查询中有循环,以便它检查与投标相同的帮助并更新列 A.asgnflg