更新时单行子查询 returns 多行

single-row subquery returns more than one row while update

在更新查询时我得到这个错误单行子查询returns这里不止一行是我的更新查询

UPDATE GT_POLICY GP SET (ERP_POLICY_NO,ERP_INSERT_DATE,ERP_CUSTOMER_ID) = (SELECT ERP.POLICY_NUMBER,ERP.ISSUE_DATE,ERP.MDM_ID FROM ERP_POLICY_DETAILS ERP WHERE GP.ALTERNATE_POLICY_NO=ERP.ALT_POL_NO AND ERP.ALT_POL_NO LIKE 'POL%') WHERE GP.ERP_POLICY_NO IS NULL AND GP.RECORD_STATUS='Y';

您是否尝试过 运行 子查询本身来确定返回的行数?也许 GP.ALTERNATE_POLICY_NO = ERP.ALT_POL_NO 返回了不止一行。

由于重复,感谢您的帮助alternate_policy_no我遇到了上述问题,但在将下面的行查询正常工作后

UPDATE ERP_POLICY_DETAILS ERP SET (DUPLICATE_FLAG)=
(SELECT COUNT(1) FROM ERP_POLICY_DETAILS ERP1 WHERE ERP.ALT_POL_NO = ERP1.ALT_POL_NO AND ERP.ALT_POL_NO LIKE 'POL%'
  GROUP BY  ALT_POL_NO);