Sql server 基于来自另一个表的引用更新SQL Server中的行

Sql server 基于来自另一个表的引用更新SQL Server中的行,sql-server,sql-server-2008,tsql,Sql Server,Sql Server 2008,Tsql,在SQLServer2008中,我有两个表,一个名为issue,另一个名为activ。我正在删除一个有问题的列,但在此之前,我想在activ中找到相应的列,并更新一个字段。我只是不知道如何引用activ issue iissueid, iactivid, ... 有人能指出我哪里出了问题吗。我很确定我就快到了。在您的更新中,您已将设置为活动状态。rtfnotes=NULL在其他任何地方它的活动。这可能是问题所在,除非这里只是一个输入错误。@Walker-这里只是一个输入错误,我已经纠正了。

在SQLServer2008中,我有两个表,一个名为issue,另一个名为activ。我正在删除一个有问题的列,但在此之前,我想在activ中找到相应的列,并更新一个字段。我只是不知道如何引用activ

issue
iissueid, iactivid, ...



有人能指出我哪里出了问题吗。我很确定我就快到了。

在您的更新中,您已将
设置为活动状态。rtfnotes=NULL
在其他任何地方它的
活动。这可能是问题所在,除非这里只是一个输入错误。@Walker-这里只是一个输入错误,我已经纠正了。感谢您提醒我。“JOIN activ.iactivid=issue.iactivid”语法无效。您根据一个条件加入一个表/视图。可能与@TabAlleman重复-就是这样。我犯了愚蠢的错误。非常感谢。
UPDATE a
    SET a.rtfnotes = NULL   
FROM activ a
    JOIN issue i ON a.iactivid = i.iactivid AND i.iissueid = @tID

DELETE issue WHERE iissueid = @tID
UPDATE activ 
    SET activ.rtfnotes = NULL   
FROM issue
    JOIN activ.iactivid = issue.iactivid
WHERE issue.iissueid = @tID

DELETE issue WHERE iissueid = @tID
UPDATE a
    SET a.rtfnotes = NULL   
FROM activ a
    JOIN issue i ON a.iactivid = i.iactivid AND i.iissueid = @tID

DELETE issue WHERE iissueid = @tID