一个TQuery的查询结果作为临时数据库,另一个TQuery用来做多次实际的查询。
这样可以提高效率吧。

解决方案 »

  1.   

    可以把qry1的查询结果传给qry2,再用qry2再简单的过滤
      

  2.   

    1、使用一个查询,然后再对它的结果进行过滤,排序等操作。这样可以减少与数据库交互的次数。但复杂的操作不行。
    2、要使用一个查询的结果,可以把它当作一个视图。分为静态视图和动态视图两种方法。静态视图就是把视图建在数据库中。动态视图则直接将那个SQL语句写在From里,然后把它的结果当成一个表就行了(只在大型数据库才支持)。如select * from table1,(select * from table2 where table2.field1='aaa' ) as table3 where table1.field1 = table3.field2
      

  3.   

    用filter吧
    (代理服务器有问题,不能发长的留言,请原谅) 
    --------------------------------------
    看!
    那支正飞向太阳的蛾子.....
    就是我!
    --------------------------------------
      

  4.   

    复杂查询最好直接在数据库中完成,妄图使用Query转移是不可行的!
    楼主是否特别喜欢FoxPro中的连续查询?
    可惜在Delphi中不行!
      

  5.   

    就是应该用Filter是最合适的
    query.filtered:=false;
    query.filter := 'id>12';
    query.filtered := true;
      

  6.   

    可以通过Query把数据集放到临时表中,再用Query查询