我正在尝试创建一个 T-SQL 查询几个小时。谷歌和论坛搜索没有帮助,所以我希望有人可以帮助我。
有两个表,Change
和Journal
。中的每一行Change
都有 5 个相关的行Journal
。
我想要做的是将CreatedDateTime
特定相关行的Journal
列值 ()AuthorizationDate
从Change
. 这应该对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 行子查询返回超过 1 个值。当子查询跟随 =、!=、<、<=、>、>= 或子查询用作表达式时,这是不允许的。该语句已终止。
我以为我确实通过 WHERE 子句 ( ChangeNotes_Subject = '...'
) 将结果限制为一个。我做错什么了?