Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 子查询返回了多个值-更新联接_Sql_Sql Server_Sql Server 2012 - Fatal编程技术网

Sql 子查询返回了多个值-更新联接

Sql 子查询返回了多个值-更新联接,sql,sql-server,sql-server-2012,Sql,Sql Server,Sql Server 2012,我有一个加入的更新,SQL Server 2012。我只需要将数据从ScheduledStatusChange.Reason复制到Account.CancellationReason。有7条ScheduledStatusChange记录,每个匹配的Account记录有2条记录,总共有14条记录,而不是7条 因此,当我尝试执行下面的更新时,我得到了以下错误消息:子查询返回的值超过1。更新如下: update gym.account set CancellationReason = left(ltr

我有一个加入的更新,SQL Server 2012。我只需要将数据从ScheduledStatusChange.Reason复制到Account.CancellationReason。有7条ScheduledStatusChange记录,每个匹配的Account记录有2条记录,总共有14条记录,而不是7条

因此,当我尝试执行下面的更新时,我得到了以下错误消息:子查询返回的值超过1。更新如下:

update gym.account
set CancellationReason = left(ltrim(rtrim(s.Reason)),50)
from gym.scheduledstatuschange s
join gym.account a
on s.AccountID = a.AccountID
where s.Applied = 1
and s.StartStatusID = 2
and a.membershipstatusid = 2
and isnull(ltrim(rtrim(a.CancellationReason)),'') = ''
and isnull(ltrim(rtrim(s.Reason)),'') <> ''
and s.scheduledstatuschangeid not in (5169,8370,6669,4617,6707,4727,5048)

注意最后一行。我过滤掉了7条带重复项的记录,但仍然得到相同的错误。现在我被卡住了。

您的查询没有子查询。当多行与更新匹配时,不会出现您提到的错误。在这种情况下,结果是任意的。戈登,那么你的解决方案是什么?可能是一个有问题的触发器?我怀疑生成错误的查询不是你认为正在运行的查询。你们都是对的,是一个触发器干扰了。扣下扳机后,一切正常。谢谢大家!