需要SQL Server查询帮助

时间:2012-05-03 03:43:03

标签: sql sql-server

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

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)可能会返回多个值。

请帮助解决此问题。感谢

1 个答案:

答案 0 :(得分:0)

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

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