来自另一个表的sql update临时表

时间:2016-08-31 13:14:37

标签: sql sql-server tsql temp

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

我希望使用#tblTemp更新表格tblMST,并且需要获得如下输出:

3)#tblTemp

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

2 个答案:

答案 0 :(得分:0)

使用如下的脚本。

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

答案 1 :(得分:0)

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

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

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