标题:怎样查询两个数据库,然后把合并的结果进行排序
只看楼主
zhanxinlin
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:96
专家分:156
注 册:2010-5-19
结帖率:92.86%
已结贴  问题点数:100 回复次数:9 
怎样查询两个数据库,然后把合并的结果进行排序
因实际中特殊需要,现
有两个数据库   a.mdb和b.xls

a.mdb中有表   a   字段:  a1,a2
表名  a    字段a1    字段a2
值            1         c
              2         q
              3         a

b.xls中有表   b   字段:  b1,b2
表名  b     字段b1     字段b2
             2          aaa
             3          yuuu

各字段数据类型均为文本类型。其中a.mdb中表a,  a1字段的数据包含b.xls数据库表b,b1字段的数据。即a.mdb > b.xls
现使用
程序代码:
<%set rsRead=server.CreateObject("ADODB.Recordset")
rsRead.Open "select * from b",b,1,1  '读取b数据库
do until rsRead.EOF 

Set rs=Server.CreateObject("ADODB.Recordset")
sql ="select a2 from a where a1='"&rsRead.Fields("b1")&"'"
rs.open sql,conn,1,1

response.write rs("a2")&"|"
response.write rsRead.Fields("b1")&"|"
response.write rsRead.Fields("b2")&"<br>"

rsRead.MoveNext
loop%>
即已实现两个数据库的关连查询,但还有一步排序却不知道怎么做,就是按rs("a2")来排序。

那么需要实现的输出结果为:
a|3|yuuu
q|2|aaa
但现在并不能按两个数据库的查询结果来排序,代码应该怎样写?
搜索更多相关主题的帖子: 数据库 
2011-05-06 23:41
hams
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:18
帖 子:912
专家分:3670
注 册:2008-7-30
得分:50 
这个是排序问题么?

俺不高手,俺也是来学习的。
俺的意见不一定就对,当你不认同时请点忽视按钮。
当走到十字路口不知该如何走时,可在论坛问下路,但你若希望别人能一路把你送到目的地,显然是不现实的,因为别人也有自己要走的路。
2011-05-07 08:08
zhanxinlin
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:96
专家分:156
注 册:2010-5-19
得分:0 
回复 2楼 hams
是的,正是要解决个排序问题。按现在的代码,所输出的数据并非我想要的输出结果,必须使用表格,然后复制到Excel再进行排序。如现在的输出结果为

q|2|aaa
a|3|yuuu

但我想要的却是

a|3|yuuu
q|2|aaa

当然数据库里面数量量庞大,所以还是要靠所查询后的结果再排序,曾想到用数组,却不知从何下手,也曾想过用sql语句,无奈sql基础太差。


[ 本帖最后由 zhanxinlin 于 2011-5-7 10:59 编辑 ]
2011-05-07 10:52
lxd0980
Rank: 7Rank: 7Rank: 7
来 自:湖南长沙
等 级:黑侠
帖 子:166
专家分:505
注 册:2011-3-27
得分:50 
直接在这后面 加  sql ="select a2 from a where a1='"&rsRead.Fields("b1")&"'"  order by a1  desc
2011-05-07 11:25
zhanxinlin
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:96
专家分:156
注 册:2010-5-19
得分:0 
回复 4楼 lxd0980
不行的,你不知道,这条sql每次都只会查询到一条记录。而上面的那条循环就是会根据这里来输出数据的,只不过,输出后没办法再排序。
2011-05-07 11:30
hams
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:18
帖 子:912
专家分:3670
注 册:2008-7-30
得分:0 
在b.xls中先排

俺不高手,俺也是来学习的。
俺的意见不一定就对,当你不认同时请点忽视按钮。
当走到十字路口不知该如何走时,可在论坛问下路,但你若希望别人能一路把你送到目的地,显然是不现实的,因为别人也有自己要走的路。
2011-05-07 14:59
hams
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:18
帖 子:912
专家分:3670
注 册:2008-7-30
得分:0 
xls的没研究

俺不高手,俺也是来学习的。
俺的意见不一定就对,当你不认同时请点忽视按钮。
当走到十字路口不知该如何走时,可在论坛问下路,但你若希望别人能一路把你送到目的地,显然是不现实的,因为别人也有自己要走的路。
2011-05-07 14:59
zhanxinlin
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:96
专家分:156
注 册:2010-5-19
得分:0 
回复 6楼 hams
b.xls中没办法先排的,因为最终要排序的数据都是从a.mdb中读取的。
2011-05-07 15:50
zhanxinlin
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:96
专家分:156
注 册:2010-5-19
得分:0 
回复 7楼 hams
其实xls可以看成一个数据库,第一行看成字段名
2011-05-07 15:51
hams
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:18
帖 子:912
专家分:3670
注 册:2008-7-30
得分:0 
如果你认为xls是数据库就用数据库存的排序去排试试

俺不高手,俺也是来学习的。
俺的意见不一定就对,当你不认同时请点忽视按钮。
当走到十字路口不知该如何走时,可在论坛问下路,但你若希望别人能一路把你送到目的地,显然是不现实的,因为别人也有自己要走的路。
2011-05-09 08:07



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-339025-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.086588 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved