我有一张像这样的桌子:
名称-日志-日期-dataFields 约翰 -2-21/03/2014-123 约翰-2-22/03/2014-345约翰-2-23/03 /2014-234 卡尔-2-20/03/2014- 789 利安- 1 - 20/03/2014 - 135 利安- 2 - 21/03/2014 - 321 米克- 1 - 20/03/2014 - 987 米克- 1 - 21/03/2014 - 123 米克- 2 - 22 / 03/2014 - 456 米克- 3 - 20/03/2014 - 789 米克- 3 - 24/03/2014 - 456
我想删除除最新名称/日志组合以外的所有记录。所以在这个例子中
约翰- 2 - 23/03/2014 - 234 卡尔- 2 - 20/03/2014 - 789 利安- 1 - 20/03/2014 - 135 利安- 2 - 21/03/2014 - 321 米克- 1 - 21 / 03/ 2014-123米克-2-22/03/ 2014-456米克-3-24/ 03/ 2014-456
我尝试使用选择要保留的记录的子查询。然后使用不存在选择我要删除的记录,但是它不选择任何记录。我可以用这种方式不存在吗?
不会:
Delete from [TableName] as T1
Where Exists(
SELECT [log],[name],Max([date]) FROM [TableName]
Where [log] = T1.[log]
And [name] = T1.[name]
Group By [log],[name]
Having T1.[date] < Max([date]))
绝招?
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句