更新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
有人能指出我要去的地方错了。我很确定我几乎在那里。
答
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中,你有'SET active.rtfnotes = NULL',其他地方都有'activ'。这可能是问题,除非这里只是一个错字。 –
@Walker - 这里只是一个错字,我修正了。谢谢你让我意识到这一点。 – Tim
“JOIN activ.iactivid = issue.iactivid”是无效的语法。你加入一个表/视图的条件。 –