0
我无法将记录复制并插入到同一个表中,但具有不同的值并基于两个条件。将具有2个不同值的行复制到同一个表中
我至今:
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用户名=我将每次执行查询的记录数乘以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。
任何帮助表示赞赏。
使用'GETDATE()'函数,而不是CURRENT_TIMESTAMP在你的SELECT。 –
我会考虑一些表设计更改。为什么一遍又一遍地存储相同的用户名,名字,姓氏,位置值? – jarlh
如果您提供了样本数据和期望的结果,您的问题对我来说会更有意义。第一段和倒数第二段似乎是矛盾的。 –