小编sho*_*ked的帖子

将列值从一个表复制到另一个表

我现在正在尝试创建一个 T-SQL 查询几个小时。谷歌和论坛搜索没有帮助,所以我希望有人能帮助我。

有两个表,ChangeJournal。中的每一行Change都有 5 个相关的行Journal

我想要做的是列值(复制CreatedDateTime特定的相关行)从Journal入列AuthorizationDateChange。这应该对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
    )
Run Code Online (Sandbox Code Playgroud)

不幸的是,我收到以下错误消息:

消息 512,级别 16,状态 1,第 1 行子查询返回了 1 个以上的值。当子查询跟随 =、!=、<、<=、>、>= 或当子查询用作表达式时,这是不允许的。该语句已终止。

我以为我确实通过 WHERE 子句 ( ChangeNotes_Subject = '...')将结果限制为一个。我做错了什么?

t-sql sql-server copy

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

copy ×1

sql-server ×1

t-sql ×1