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

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

问题描述:

我有两个表,一个名为issue,另一个名为activ在SQL Server 2008中。我正在删除一个有问题的列,但在此之前,我想查找activ中的相应列,并更新一个字段。我只是不确定如何引用activ。更新SQL Server中基于来自另一个表的引用的行

issue 
iissueid, iactivid, ... 

activ 
iactivid, rtfnotes, ... 

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

DELETE issue WHERE iissueid = @tID 

有人能指出我要去的地方错了。我很确定我几乎在那里。

+0

在你的UPDATE中,你有'SET active.rtfnotes = NULL',其他地方都有'activ'。这可能是问题,除非这里只是一个错字。 –

+0

@Walker - 这里只是一个错字,我修正了。谢谢你让我意识到这一点。 – Tim

+2

“JOIN activ.iactivid = issue.iactivid”是无效的语法。你加入一个表/视图的条件。 –

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