要求按照规定排序顺序,查找表中第m行和第n行的记录,因此将所查询所有数据into到临时表中:select * into #table1 from XXX where XXX order by XXX,然后再给表加 idx INT IDENTITY,再根据idx值,取出数据。where idx between m and n。执行无误。共有多个此类问题,都这样实现的。可是测试时,先执行完table1的查询后,再执行table2的查询,却发现排序顺序不正确,这两个局部临时表的名字不一样,也没有谁先谁后的必然联系,按说不应该有什么影响啊,也不知道是什么原因,请大家帮帮忙阿。
解决方案 »
- 如何查询出连续的一段日期
- 应该比较简单,望各位高人给出具体的解决办法
- delphi能获取存储过程中print的内容吗?如何做?
- Error:ROLLBACK TRANSACTION 请求没有对应的 BEGIN TRANSACTION()给就100分)
- 存储过程问题 请高手指教 急急急急急急!!!!!!
- 高手帮我看看怎么用别名 就是dep表和其他表链接查出两个dep_name,这两个dep_name是不同字段链接出来的
- 求助。。。。SQL SEVER2000服務管理器關閉后無法再開啓。。。
- 求 ?上亿条数据处理的解决方案
- 简单的DISTINCT 问题!!!!
- VFP高手们,给小弟介绍一本VFP的好书吧,谢谢!
- 一个表关联问题,请高手帮忙解决
- 请教一个SQL语句的写法,请大家帮帮忙,谢谢了,在线等待
select id=identity(int,1,1),* into #table1 from XXX where XXX order by XXX
ALTER TABLE #Term ADD idx INT IDENTITY
select * from #Term A where A.idx between 1 and 50
drop table #Term另一个除了临时表的名字是#Mid,查询的信息也不一样,也是这个步骤。因原查询信息是多个视图INNER JOIN,非常繁琐,暂时就用XX代替一下。问题就是,执行第一个再执行第二个的时候,第二个的排序就会出错,然后再操作第二个,第二个就会正常,。
where x in (select top 10... from xxx where ...)
into #temp
from tabelname
order by xxxselect top n-m * from #temp
where OID not in(select top m * from #temp)drop #temp---查询从第m行起到第n行的记录
from
(select top n from table order by id desc) a
51,a,b,c
52,a,b,c
......
100,a,b,c
由m到n。
into #temp
from tabelname
order by xxxselect identity(int,50,1),top n-m * from #temp
where OID not in(select top m * from #temp)drop #temp