返回信息流A
==============================================
select *
from Extract2
--就是限制条件
where is_valid=0 /*有效点的条件*/
AND has_next=1
AND Timing_Advance
between 0 AND 63
--然后按如下关建字排序
ORDER BY CGI asc, TRX asc, time_slot asc,result_num asc
===========================================
得到一个返回结果。。。
然后我用同样的语句,不过是将返回的查询结果放入了一个新表,语句如下
B
================================================
--复制旧表的表头
select * into ValidData from Extract2 where 1=0
--从旧表中复制排过序的数据
insert into ValidData
select *
from Extract2
where is_valid=0 /*有效点的条件*/
AND has_next=1
AND Timing_Advance
between 0 AND 63
ORDER BY CGI asc, TRX asc, time_slot asc,result_num asc
===================================================
但是感觉前后两个返回的结果顺序不一样了,举个列子
A中返回的数据第1-60行,result_num从 139-198)
====================
CGI TRX time_slot result_num
460-1-7131-42121 0 3 139
460-1-7131-42121 0 3 140
460-1-7131-42121 0 3 141
460-1-7131-42121 0 3 142
460-1-7131-42121 0 3 143
.....................................
460-1-7131-42121 0 3 198
-----------------------------------------------------------------------------------
而B中得到数据却将这一组数分成了两部分
先是在1-39行
CGI TRX time_slot result_num
460-1-7131-42121 0 3 139
460-1-7131-42121 0 3 140
.........................................
460-1-7131-42121 0 3 177
而后是在148585行重新出现,在148585-148605行补全了后半部分
CGI TRX time_slot result_num
460-1-7131-42121 0 3 178
460-1-7131-42121 0 3 179
.........................................
460-1-7131-42121 0 3 198
=====================================================
如果咋眼看,B返回的数据还是按照规定的顺序排序的,我偶然发现了有些数据顺序的不同
这个很奇怪,是数据库本身有些排序规则,还是我语句出错了,不是刷新的问题,我把表删了好几次,清空好几次,反正执行这个语句都是这样的结果,如何才能将A返回的结果按照原来的顺序插入新表中呢?求指教
这是一条镜像帖。来源:北邮人论坛 / database / #4673同步于 2010/7/28
Database机器人发帖
【求助】将数据库返回的结果插入新表的顺序问题
littlewhite
2010/7/28镜像同步0 回复
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。