我在程序里面定义了几个查询adoquery1,adoquery2,adoquery3,adoquery4根据要求,必须要对以上的查询结果进行二次编辑。就是再弄一个查询adoquery10对adoquery1,adoquery2进行数据重组。但是我在程序中老是实现不了。
报错说找不到adoquery1   请问是什么原因?????急!请那位知道的大侠速答!

解决方案 »

  1.   

    这样是不行的,你应该把 adoquery1 和 adoquery2 的查询条件组合起来,放到 adoquery10 中去查询
      

  2.   

    我说的是先进行adoquery1 和 adoquery2 的查询。
    然后再利用adoquery1 和 adoquery2 的查询结果进行adoquery10的查询
    这样不行吗?
    必须要这样做的
    因为adoquery1 和 adoquery2 中的查询条件是在代码中添加的。
      

  3.   

    使用组合查询嘛!
    主要注意考虑adoquery.sql.add('')里面的条件!!!!可以实现你的那个功能!
      

  4.   

    条件?什么意思?我还是不太明白
    这么办吧!我把adoquery10的代码写出来  你们看看是不是错了!
    select  distinct adoquery1.内编号,adoquery1.管理费,adoquery2.二级维护
    from adoquery1 left join adoquery2
    on  (adoquery1.内编号=adoquery2.内编号) union
    select  distinct adoquery2.内编号,adoquery1.管理费,adoquery2.二级维护
    from table2 left join table1
    on adoquery1.内编号 = adoquery2.内编号
    我觉得代码是没有错的    还请高手指教!
      

  5.   

    比如ADOQUERY1所做的事情
    select name from table1
    ADOQUERY2所做的事情
    select age from table2
    ADOQUERY10所做的事情
    select sex from table3  table3里有ADOQUERY1和ADOQUERY2查询出的结果。
    那么
    ADOQUERY10可以
    select sex from table3 where name in(select name from table1) and age in(select age from table2);
      

  6.   

    你可能没有理解到我的意思
    你说table3里有ADOQUERY1和ADOQUERY2查询出的结果。
    可是我的那些代码就是在求ADOQUERY1和ADOQUERY2查询出的结果呀!
      

  7.   

    adoquery1:
     SELECT field1 FROM table1 WHERE field1>100
    adoquery2:
      SELECT field2 FROM table2 WHERE field2>10adoquery10:
      SELECT field1,field2 form table1,table2 WHERE (table1.field1>100) AND (table1.field2>10) AND 其它条件如 table1.field1<table2.field2具体情况要根据你的条件来实现。
      

  8.   

    我说你们回答之前能不能好好看看我的问题!
    我说的是通过adoquery10把adoquery1和adoquery2的查询结果进行重新组合
    但是在dephi 里面去老是报错  说找不到adoquery1  和  adoquery2  我想问的是怎么才能弄对喽!没看懂的请不要发帖子好不好?
      

  9.   

    你的写法是错的,把adoquery完全当做table了. 还是用上面说的方法把
      

  10.   

    已经跟你说过不行了,只能把原先的两个查询条件组合到你的 adoquery10 中,你为什么还没有理解呢?