如何编写SQL查询以根据输入的顺序获取记录?(无日期col)

时间:2013-09-30 10:05:13

标签: sql sql-server

我需要编写一个SQL查询,按照输入表中的顺序返回记录。

我无法在表格中添加列或以任何方式更改表格。我可以从表中insert intoselect

假设我执行了三个插入查询,例如

  insert into x values(a,1);
  insert into x values(d,4);
  insert into x values(u,42);

当我从表x中选择时,我需要按此顺序获取记录。

  • a 1
  • d 4
  • u 42

该表只有两列,都与日期无关。

2 个答案:

答案 0 :(得分:2)

如果不以某种方式更改表格,则无法执行此操作。

当你从表中选择数据时,它返回的顺序在我所知道的所有sql数据库引擎上都是不确定的,当然在MSSQL server 2000+中也是如此。要按定义的顺序获取行,您必须包含ORDER BY子句,并且您无法指定任何内容来提供所需的顺序。

由于您无法更改架构,因此这是游戏结束。


好的,(几乎)没有什么是不可能的。您可以定期分析物理数据库文件中的更改并将其解码为您需要的信息,但是当一个事务插入多行时,这可能会失败。

我怀疑你是否有机会这样做。

答案 1 :(得分:0)

你做不到。如果没有order by子句,则返回的订单不具有确定性,并且您没有任何要订购的东西