0

当我尝试以下查询时,零行受到影响。有人可以帮我解决这个问题吗?

UPDATE PLAN 
SET PLANID = (SELECT PLANID FROM MODE WHERE [NAME]='Sam')
WHERE CUSTOMERID IN (SELECT CUSTOMERID FROM ENTITYCUSTOMER WHERE EMPID = 707)

(SELECT PLANID FROM MODE WHERE [NAME]='Sam')将返回一个代码

(SELECT CUSTOMERID FROM ENTITYCUSTOMER WHERE EMPID = 707)可能返回多个值。

请帮助需要解决方案。谢谢

4

1 回答 1

0
SELECT PLANID FROM MODE WHERE [NAME]='Sam'

'MODE' 表不得键入 PLANID;因此它无法将特定值绑定到更新。一种选择是创建一个游标,并读取要更新的正确值。另一种方法是使用您使用的任何客户端代码语言(可能是 .net 语言?)

于 2012-05-03T03:48:30.867 回答