我有如下语句:
    with query1 do
    begin
      close;
      sql.clear;
      sql.add('select tjzb from t_rule_wg');
      sql.add('where tjbh in ('select zxbh from t_br_temp')');
      prepare;
      open;
    end;
这里,表t_rule_wg是sql server 2000建立的表,放在服务器上,用query1 连接;
而,表t_br_temp是用delphi6.0 的桌面数据库paradox7.0建立的,放在本地机器上,用query2(别名与query1不同)连接。执行上面语句后,得不到想要的结果。当然,可以分开查询,那样太麻烦了。有没有简单可行的啊!!谢谢各位了。谢谢。

解决方案 »

  1.   

    兄弟,有没有搞错啊,
    sql.add('select tjzb from t_rule_wg');
    sql.add('where tjbh in ('select zxbh from t_br_temp')');
    这样怎么可以?
    你可以先吧'select zxbh from t_br_temp出来的结果存放在一个数组里面。明白?
      

  2.   

    你可以
    1 共享出paradox数据库,然后用sql server的行集函数opendatasource,openquery等进行联合查询
    2 讲paradox数据库导入sql临时表,然后进行联合查询
    3 在客户端,用两个连接/数据集,利用delphi循环或者filter达到
      

  3.   

    with Query do                 
      begin
        Close;
        SQL.Clear;
        SQL.Add('Select Distinct tjzb From t_rule_wg');
        SQL.Add(' Where tjbh In (Select * from OpenQuery(test,''Select  
                 zxbh From t_br_temp'')');
        Prepare;
        Open;
      end;