大概不好做
或者试试变通的方法?
select * from dd;   ----------Query1
select * from (select * from dd) ----query2

解决方案 »

  1.   

    可以使用临时表,
    select * from table1 into #temptable
    然后再使用类于
    select * From #temptable的方式来查询新的内容
      

  2.   

    就是不能这样写:
      Select * from (Select * from dd)
      非出错不可!
    --要不,我早高兴死了!
      

  3.   

    将query1的sql加到query2中,在where 部分加上query2中的条件。
      

  4.   

    你可以使用Locate、Filter等方法来间接实现这种效果!
      

  5.   

    可以用嵌套查寻
    事例如下、
    procedure TButton1.click;
     var LsSql:string;
     lssql:='';
     lssql:='select a.num,a.name,a.kind,a.total,a.notbusy ';
      lssql:=lssql+' round(decode(b.buzytotle/a.totle  *100,NULL,0,b.unbuzytotle/a.totle*100),2) AS notbuzy ';
      lssql:=lssql+' from ';
      lssql:=lssql+'(select table.kind,table.num,table.kind, ';
      lssql:=lssql+' count(*) as totle, ';
      ;
      lssql:=lssql+' from table where ....... ';
     
      lssql:=lssql+' group by a.num,a.name,a.kind ';
      lssql:=lssql+' ) a  ';
      with query1 do 
        begin
          close;
          Sql.clear;
          Sql.add(LsSql);
          prepare;
          Open;
        end;
    end;
      

  6.   

    嵌套SELECT不就可以了吗
    SELECT * FROM (SELECT * FROM TABLE1) AS TEMPTABLE
      

  7.   

    Select * from (Select * from dd)肯定不行!
    修改成这样
    Select * from (Select * from dd) as asdfasdf
      

  8.   

    如果你用的是ADOQuery呢,它的Recordset会保存你所做的前一次数据.
      

  9.   

    你用Filter不就行了?
    sql.add('select a,b,c from abc where a>0 and a<100');
    ...
    Filted := False;
    Filter := 'a>10 and a<20';
    Filted := true;
      

  10.   

    先用query1建一个view,再用query2去查喽
      

  11.   

    我要说明:编写的是服务器/客户端程序,服务器端是Informix,本端使用BDE
    要求是不能在服务器端建立临时文件(权限限制),不考虑在本地建立临时文件(速度太慢),
    我试了一下以上各位大侠的方法:
    1、使用嵌套查询
      Select * from (Select Table) as TempTable
       zhhahuatian(华仔) 
       CeleronII(抽烟的鱼) 
       zzzl(早安的空气)
       kingfei(Kingfei) 
       a12345(唯微) 
       结果:显示错误:General SQL Error 
             [INTERSOLV][ODBC Informix driver][Informix] A Syntax error has occurred.
       结论:Informix似乎不支持嵌套查询
    2、使用临时表
       lxl(蚊蚊)
       结论:由于限制,无法建立临时表
    3、在Where部分加Query2的条件
       KongKong(空空如野) 
       结果:您的意思是合并条件,组合查询
       结论:我要实现的是在Query1里分组,合计,然后根据Query1中分组的情况,依据组数
      (Count(*)from Query1 Group by 组名
       再分组,再统计,无法在一条SQL语句中实现
    4、使用Filted筛选
       GreenCsdn(稻草人) 
       liang_z(千山一刀之忍者神龟) 
       结论:由于数据量巨大,又要根据分组后的组数计算,无法使用Filted筛选
    5、先用query1建一个view,再用query2去查喽
       czhall(阿东) 
       怎么实现?请详细说明!谢谢!   各位大侠,请再帮忙想想!
      

  12.   

    用cds是可以的,利用DATA属性赋值。