【问题标题】:Convert Select with Join to Update将 Select with Join 转换为 Update
【发布时间】:2011-04-06 20:36:59
【问题描述】:

我有一个问题:

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 中我添加了这一列,我必须将此选择查询转换为更新查询 foreach 行我必须这样做:

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

很抱歉,我很抱歉,但这个查询的构造令人难以置信。

我正在使用 sql-server-2005

【问题讨论】:

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


    【解决方案1】:

    这不行吗?

    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
    

    【讨论】:

      【解决方案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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-10-17
        • 1970-01-01
        • 1970-01-01
        • 2019-08-23
        • 2023-03-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多