我试图创建一个T-SQL查询几个小时。谷歌和论坛搜索没有帮助,所以我希望有人可以帮助我。有Change
和Journal
两个表格。 Change
中的每一行都有Journal
中的5个相关行。将列值从一个表复制到另一个表
我想要做的是将Journal
中特定相关行的列值(CreatedDateTime
)复制到Change
的列AuthorizationDate
。这应该为Change
中的所有行完成。
这是我到目前为止已经取得的成就:
UPDATE Change
SET Change.ap_ITSM_MDP_AuthorizationDate =
(SELECT Journal.CreatedDateTime
FROM Journal
JOIN Change
ON Journal.Parentlink_RecID = Change.RecID
WHERE ITSM_ChangeNotes_Subject = 'Status changed to: Authorized'
AND Change.RecID = Journal.ParentLink_RecID
)
不幸的是,我得到了以下错误消息:
消息512,级别16,状态1,行 子查询返回超过1个值。当子查询遵循=,!=,<,< =,>,> =或当子查询用作表达式时,这是不允许的。 该声明已被终止。
我以为我DID限制结果为WHERE子句(ChangeNotes_Subject = '...'
)。我做错了什么?
这是用于SQL服务器吗? –