【问题标题】:sql update temp table from another table [closed]sql从另一个表更新临时表[关闭]
【发布时间】:2016-08-31 13:14:36
【问题描述】:

1)#tblTemp

RD
------
20 Aug
 5 Aug
30 Aug
 4 Aug
20 Aug
18 Aug

2) tblMST

startDate
---------
22 Aug
 6 Aug
30 Aug
19 Aug

我想使用tblMST 更新表#tblTemp 并且需要得到如下输出:

3) #tblTemp

RD
--------
22 Aug
 6 Aug
30 Aug
 6 Aug
22 Aug
19 Aug

【问题讨论】:

  • 请添加更多细节。现在没有任何意义。
  • 如果 tblMST 中不存在 8 月 20 日,则 8 月 20 日替换为 8 月 22 日 v.v

标签: sql sql-server tsql temp


【解决方案1】:

您是否想要最接近 tblMST 的日期?如果是这样,你想做这样的事情:

UPDATE #tblTemp SET RD = (SELECT top(1) startDate FROM tblMST WHERE startDate >= RD ORDER BY startDate)

同样,我不确定这是否是您正在寻找的逻辑。如果不是,请告诉我。谢谢!

【讨论】:

    【解决方案2】:

    使用如下脚本。

    UPDATE t
    SET t.RD = (SELECT MIN(StartDate) FROM tblMST 
     WHERE StartDate >=t.RD)
    FROM #tblTemp t 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-16
      • 1970-01-01
      相关资源
      最近更新 更多