将具有2个不同值的行复制到同一个表中

时间:2017-05-08 10:59:45

标签: sql sql-server

我无法将记录复制并插入到同一个表中但具有不同的值且基于两个条件。

我到目前为止:

INSERT INTO Userdetails
(ID, Username, Firstname, Surname, Location, TimeAs)
SELECT ID, Username, Firstname, Surname, Location, CURRENT_TIMESTAMP
FROM 
Userdetails where Username = 'Harvard'; // and the latest date of the record

我想要做的是当一个位置被更新时,一个新记录带有一个新的时间戳和位置,旧记录的所有细节(名字等...)被插入到表中,但保留旧记录

如果我只使用WHERE Username = I每次执行查询时将记录数乘以2x。

示例日期:

Username | Firstname | Surname | Location | Last Updated

Harvard    David       Beckham   London    2017-05-08 12:11:00

Harvard    David       Beckham   Turkey    2017-05-08 12:14:00

Stanton    John        Smith     Paris     2017-05-08 11:24:00
 // This would be the result of the query, With a different timeStamp and Location but keeping the old record
Harvard    David       Beckham   Hong Kong    2017-05-08 12:20:00

我希望它做的是复制最新记录,其中用户名='哈佛'但也看看使用最新的时间,而不仅仅是用户名,因为这将创建2个记录而不仅仅是我想要的1个。

感谢任何帮助。

0 个答案:

没有答案
相关问题