删除Top 1 Desc正在拉错记录

时间:2013-09-17 17:02:20

标签: sql sql-server-2008 sql-delete

我有2个表需要删除顶部记录。

对于这两个表我都有以下几点:

delete from [TABLE]
where [LINE] = (select top 1 [LINE]
                from [TABLE]
                where NUMBER= 'XXXXXX'
                order by TIME desc)

对于1我正在使用本地表,而另一个我正在直接调用单独的服务器。当我运行它们的内部选择时,它们似乎拉出了我想要删除的正确记录,但是当我运行整个删除查询时1正常工作(从我可以看到)和另一个(服务器称为一个)是拉着上升的顶部1而不是下降的顶部1。

这真的开始让我感到沮丧,让我感到困惑的是,这两个几乎相同的命令以两种相反的方式起作用。

仅供参考,TIME是两个表格中的日期时间,应该几乎同时在每个表格中输入。

1 个答案:

答案 0 :(得分:0)

你为什么不去ID?像

这样的东西
delete from [TABLE]
where [id] = (select max(id)
                from [TABLE]
                where NUMBER= 'XXXXXX')