CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  数据库(包含打印,安装,报表)

请问如何在SQL语句的查询结果中,再次进行查询

楼主zcg1115()2003-02-03 22:54:16 在 VB / 数据库(包含打印,安装,报表) 提问

请问如何在SQL语句的查询结果中,再次进行查询,  
  (我的意思是从ABC表中查出一个日期范围如“2003-1-1至2003-1-20”后,在从此结果中查出符合其它条件的记录)    
  我的查询语句如下:  
  dim   bb   as   QueryDef    
  bb   =   "select   *   from   abc   where   日期   between   #   "   &   Text4.Text   &   "   #     and     #   "   &   Text5.Text   &   "   #     "  
  Data1.RecordSource=   "select   *   from   bb   where   摘要   =   '市内1'   or   摘要   =   '市内2'   or   摘要   =   '市外1'   or   摘要   =   '市外2'   "  
  可能写的有错误,望各位给予指教。 问题点数:30、回复次数:16Top

1 楼chenyu5188(来自东方的狼)回复于 2003-02-03 23:07:03 得分 0

可以将第一次查询的结果放到一个临时表中,然后执行第二次查询时可以从这个临时表中进行哈  
   
  希望我的方法对你有所帮助 ̄!!Top

2 楼ok1(wei)回复于 2003-02-03 23:20:23 得分 0

试一下用一个嵌套的SQL句吧,如果你使用的是SQL   SERVER的话,可以建立一个储过程,代码如下:  
  select   *   from   表名   where   日期   between   (2003-1-1,2003-1-20)   and   你的字段(select   *   from   表名   where   你要搜索的字段=XXX值)  
  你试一下吧  
  Top

3 楼zcg1115()回复于 2003-02-04 18:44:17 得分 0

chenyu5188(蓝色情调)    
            我也是想象你说的将第一次查询的结果放到一个临时表中但如何操作烦劳将操作代码提供     谢谢Top

4 楼Cybery(Cybery)回复于 2003-02-04 18:51:38 得分 0

可手动在数据库中建立一个表作为临时表!  
  Top

5 楼FreshAir(FreshAir)回复于 2003-02-05 09:57:43 得分 0

可以使用Data1.RecordSet的下述方法  
  FindFirst           条件       从第一条记录开始向后查找  
  FindLast             条件       从最后一条记录开始向前查找  
  FindPrevious     条件       从当前记录开始向前查找  
  FindNext             条件       从当前记录开始向后查找Top

6 楼heyday(水中天)回复于 2003-02-07 13:04:56 得分 0

1,可以使用子查询  
  2,   可以考虑用视图  
  3,   用临时表Top

7 楼zjsm96441125(流星物语)回复于 2003-02-07 13:52:45 得分 0

db.Execute   "select   aa,bb   into   Tabeltemp   From   Table"  
  rs.open   "select   *   from   tabeltemp   where   aa='%55'   ",db  
  Top

8 楼qbilbo(风之兄)回复于 2003-02-07 14:35:47 得分 30

Dim   db   As   Database  
  Dim   bb   As   QueryDef  
   
  Set   db   =   DBEngine.OpenDatabase("yourdbfile")  
  Set   bb   =   db.CreateQueryDef("bb",   "select   *   from   abc   where   日期   between   #   "   &   Text4.Text   &   "   #     and     #   "   &   Text5.Text   &   "   #     ")  
  Data1.RecordSource   =   "select   *   from   bb   where   摘要   =   '市内1'   or   摘要   =   '市内2'   or   摘要   =   '市外1'   or   摘要   =   '市外2'   "  
  ...  
  ...  
  db.QueryDefs.Delete   "bb"  
   
  随手写的不一定对。  
  思路是先创建一个查询,再执行。  
  执行完后别忘记删除查询,不然下次再用就会出错了。Top

9 楼showgood(傻傻的)回复于 2003-02-07 14:42:51 得分 0

bb   =   "(select   *   from   abc   where   日期   between   #   "   &   Text4.Text   &   "   #     and     #   "   &   Text5.Text   &   "   #   )   v1   "  
   
  Data1.RecordSource=   "select   *   from   "   &   bb   &   "   where   摘要   =   '市内1'   or   摘要   =   '市内2'   or   摘要   =   '市外1'   or   摘要   =   '市外2'   "  
  Top

10 楼yefm(百聊)回复于 2003-02-07 18:20:44 得分 0

用filterTop

11 楼dlczg(火麒麟)回复于 2003-02-08 10:57:34 得分 0

"select   *     into   ##temp   from   abc   where   日期   between   #   "   &   Text4.Text   &   "   #     and     #   "   &   Text5.Text   &   "   #     "  
  "select   *   from   ##temp     where   摘要   =   '市内1'   or   摘要   =   '市内2'   or   摘要   =   '市外1'   or   摘要   =   '市外2'   "  
  "drop   table   ##temp   "  
  记着用完了别忘了删除临时表。  
  Top

12 楼ziyue(紫月)回复于 2003-02-08 11:02:16 得分 0

先保存一下记录。Top

13 楼chinareny(编程浪子)回复于 2003-02-08 13:53:42 得分 0

markTop

14 楼hjy2000(hjy2000)回复于 2003-02-08 14:21:16 得分 0

filter属性Top

15 楼lusygrant()回复于 2003-02-08 14:22:56 得分 0

使用Recordset的Filter属性和Data1.RecordSet属性  
   
  对一个已有的Recordset记录集对象(假设为rst)用Filter属性可以在原来的查询结果中进行再次查询  
  rst.filter="select   *   from   bb   where   摘要   =   '市内1'   "  
  Set   Data1.Recordset=rst  
   
  执行完filter语句后,rst中是满足再次查询条件的所有记录,如果需要使用原来的记录集,就需要在再次查询前保存原记录  
  dim   rstNew   as   Recordset  
  set   rstNew=rst  
  rstNew.Filter  
  Set   Data1.Recordset=rstNew  
   
  Top

16 楼zcg1115()回复于 2003-02-09 12:40:32 得分 0

qbilbo(风之兄)   以解决了我的问题,谢谢各位的答复Top

相关问题

  • SQL查询语句
  • Sql 查询语句
  • SQL查询语句
  • sql语句查询
  • sql查询语句
  • sql查询语句
  • SQL查询语句
  • Sql查询语句
  • sql查询语句
  • 求助//SQL语句中,计算查询结果的数量的语句//求助

关键词

  • 摘要
  • 查询
  • 语句
  • 属性
  • 执行
  • db
  • sql
  • 表
  • 记录
  • 临时

得分解答快速导航

  • 帖主:zcg1115
  • qbilbo

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo