我有一个查询,使用主键和外键关系来更新列中的所有行,但错误是:
消息512,级别16,状态1,第1行
子查询返回了1个以上的值。当子查询遵循=,!=,<,<=,>,> =或将子查询用作表达式时,不允许这样做。该语句已终止。
我的查询是:
Update T_OP
Set DOCID = (Select DocID from T_Reg_Patients)
where Fk_RegID = (Select Pk_RegID from T_Reg_Patients)
Table1
:
Pk_RegID Name DocID
1 Sam 1
2 Sam2 2
3 Sam3 3
4 Sam4 4
Table 2
:
Pk_OPID Fk_RegID Name DOCID
1 1 Sam NULL
2 2 Sam2 NULL
3 3 Sam3 NULL
4 4 Sam4 NULL
如果Fk_RegId(在表2中)与Pk_RegID(在表1中)相同,我必须从表1更新DOCID。
请帮我。谢谢!
使用以下查询。
UPDATE t
SET t.DOCID=p.DOCID
FROM T_OP t
JOIN T_Reg_Patients p ON p.Pk_RegID=t.Fk_RegID
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句