我有更新表中的多选行的问题。这是我的查询。 谁知道问题是什么?。
--update mvp_employer--
set (MEI_EMP_CAT_CD) =
(select case when a.MEI_EMP_CAT_CD is not null then a.MEI_EMP_CAT_CD else b.MEI_EMP_CAT_CD end MEI_EMP_CAT_CD
from (
select MEI_ROC_NO,MEI_DOC_TYP_CD,MEI_EMP_CAT_CD from jimd2.mvp_employer
where mei_roc_no in (select mei_roc_no from MVP_EMPLOYER
WHERE MEI_DOC_TYP_CD IN ('632','999')
group by mei_roc_no having count(*) >1)
and MEI_DOC_TYP_CD IN ('632')
order by mei_roc_no, mei_doc_typ_cd ) a
FULL JOIN
(
select MEI_ROC_NO,MEI_DOC_TYP_CD,MEI_EMP_CAT_CD from jimd2.mvp_employer
where mei_roc_no in (select mei_roc_no from MVP_EMPLOYER
WHERE MEI_DOC_TYP_CD IN ('632','999')
group by mei_roc_no having count(*) >1)
and MEI_DOC_TYP_CD ='999'
order by mei_roc_no, mei_doc_typ_cd ) b
on a.mei_roc_no = b.mei_roc_no
)
where MEI_DOC_TYP_CD IN ('632')
and mei_roc_no ='AS0002107-A'
错误: - 错误代码-811,SQL状态21000:DB2 SQL错误:SQLCODE = -811,SQLSTATE = 21000,SQLERRMC = null,DRIVER = 3.53.95
答案 0 :(得分:0)
您应该阅读错误消息:
因此,您的查询返回更多行,DB2不知道将哪一行分配给您的set子句。 更正您的查询 - 可能添加一个独特的(取决于您的需要) - 并再试一次