就是执行一个SQL得到一个记录集,再把这个记录集当做一个表执行SQL进行检索。
能不借助临时表实现么?

解决方案 »

  1.   

    可以呀.
    create table aaa select * from bbb;
    select * from aaa;
      

  2.   

    如果不是create table aaa select * from bbb;;
    就试试create table aaa as select * from bbb;
    具体哪个忘记了.
      

  3.   

    to  smilelhh
    咱们不通过临时表,直接将第一次返回的记录集当做一个表来用SQL进行检索,能做到么?
      

  4.   

    to gxg3
    filter无法实现sum,count这样的功能吧
      

  5.   

    用BATCHMOVE。SOURCE=QUERY1,BATCHMOVE。DESTINATION=TABLE1,BATCHMOVE。MOVE=BATCOPY
    生成一临时数据库。
      

  6.   

    我也是正遇到這樣的問題,計算字段好像不支持filter屬性呢?但不知如何進行過濾查詢
      

  7.   

    先使用select into语句产生一个表,再对这个表进行操作.
      

  8.   

    select a.*,b.* from 
    (select a.*,b.* from table1 a,table2 b where a.field1=b.field1)a,
    (select a.*,b.* from table3 a,table4 b where a.field1=b.field1)b
    where a.field1=b.field1
      

  9.   

    对于SQL SERVER而言,临时表一般是放在内存中的(当然,如果放在虚拟内存除外),所以速度不会很慢。
     lf43(小飞侠)的也是一种方法,这样理论上会更快一些,但是有些复杂的操作无法支持。(像是删除等等)
    最好就是用临时表就可以了。
      

  10.   

    我是这个意思:
    我们对数据库检索,得到一个记录集,作为一个报表输出,然后基于这个检索结果作二次检索,再作一个报表另外,用到临时表的话还要自己建,能不能直接就根据select生成一个临时表呢,就是用select into可以直接产生一个表么?