请问这样的多次查询如何处理?很着急!!!希望得到大家指点!!!

                            
Foxpro数据库   
  两个表:Table1(SEQ_CODE,Name……)     Table2(SEQ_CODE,   Theme)  
  我想实现下面的查询:  
  Select   *   From   Table1   Where   SEQ_CODE   In    
  (Select   Distinct   SEQ_CODE   From   Table2   Where   Theme   Like   条件1   or   Theme   Like   条件2   or   ……)  
  其中内层查询的“Or”条件很多,但是ADOQuery的SQL命令长度有限制,有时Theme的条件有上万条,所以这样写的SQL长度超过限制。  
  于是我想分几次查询,然后将查询结果合并。比如Theme有三个条件(每次的查询条件多少是不固定的,我这里就是举一个例子):  
  1、查询   Select   Distinct   SEQ_CODE   From   Table2   Where   Theme   Like   条件1;  
  2、查询   Select   Distinct   SEQ_CODE   From   Table2   Where   Theme   Like   条件2;  
  3、查询   Select   Distinct   SEQ_CODE   From   Table2   Where   Theme   Like   条件3;  
  上面的三次查询分别返回三个数据集,  
  4、将这三个数据集合并。  
  5、最后作最外层查询:Select   *   From   Table1   Where   SEQ_CODE   In   刚才被合并的数据集;  
   
  这个查询的过程我想我已经说得很明白了,但是我不知道这样应该如何实现!!  
  我现在的控件有ADOConnection1   ADOQuery1   DataSource1   DBGrid1(最后查询的结果显示在这里)。请问是不是还要加什么别的控件才能实现上述的查询过程?具体如何实现?还有就是你们知道SQL的长度限制是多少吗???  
   
  希望回答问题的朋友说的详细一些,不要只说一些模棱两可的话,问题一解决我马上给分!!分数少了点大家见谅!!谢谢了!!!!!

查看回复

相关问题