转换选择并加入更新

时间:2011-04-06 20:37:00

标签: sql sql-server-2005 sql-update

我有一个问题:

SELECT t.*, tb.UpdateDate
FROM #tempBuildings tb INNER JOIN Buildings b ON b.BuildingID = tb.BuildingID 
INNER JOIN @tmp t ON t.ID = b.InvestmentId

我知道很难理解这里的内容,但用几句话来说: 我有建筑物的桌子,在#tempBuildings我计算更新日期。

这不是我的想法,但我必须添加输出一列。

所以在临时表@tmp中我添加了这个列,我必须将这个select查询转换为更新查询 foreach row我必须做类似的事情:

update @tmp set @tmp.UpdateDate=tb.UpdateDate

我很抱歉清楚但是这个查询的构建令人难以置信。

我正在使用sql-server-2005

2 个答案:

答案 0 :(得分:2)

这不起作用吗?

UPDATE t set t.UpdateDate=tb.UpdateDate
FROM #tempBuildings tb 
INNER JOIN Buildings b ON b.BuildingID = tb.BuildingID 
INNER JOIN @tmp t ON t.ID = b.InvestmentId

答案 1 :(得分:2)

update t
set t.UpdateDate = tb.UpdateDate
FROM #tempBuildings tb 
INNER JOIN Buildings b ON b.BuildingID = tb.BuildingID 
INNER JOIN @tmp t ON t.ID = b.InvestmentId