既然你dataset1中已经select Col_1, Col_2, Col_3 from MyTable Where Col_1 > 10了,那就已经可以取得dataset2中的要求了,你放两个dbgrid,第一个dbgrid加3个columns,分别放col_1,col_2,col_3,第二个dbgrid加一个columns,放col_1就ok了.

解决方案 »

  1.   

    对了。还有一点忘说了。
    我还要进行 
     
    select Col_2 , Count(Col_2) as MyCol from *** group by Col_2. 达到上面语句的效果,我要在 DBChar中用图型显示出来。
      

  2.   

    dataset1.commandtext := 'select Col_1, Col_2, Col_3 from MyTable while Col_1 > 10'
    DataSet2.CommandText := DataSet1.CommandText;
    就OK了DataSet2 和DataSet1是一样的了。
      

  3.   

    tdtjjiao(给分):
       我说了不用再去 select 了。 那样速度不够。
      

  4.   

    那你不是做的多余的吗?
    dataset1 和 dataset2 有什么区别?
    直接用一个不是更好?
    像你那样做
    dataset2还是要OPEN的
      

  5.   

    又要显示明细,又要汇总
       
    查了明细又不让select汇总,不知道楼主怎么想的
    怕影响速度可以事先把汇总数据插到另一张表里的嘛。
      

  6.   

    再说清楚点吧。我要两个结果:
    如下
    Col_1  Col_2  Col_3  和   Col_1  Count(Col_1)
     1       2      3           1       2
     1       1      1           2       1
     2       3      3    能不能只发一次查询命令。我要统计任意的一列。不一定是Col_1 
    我是想能不能直接在AdoDateSet1里面进行统计。
    就像 AdoDateSet2.commandtext:= select Col_X , Count(Col_x) from AdoDateSet1 Group by Col_X能不能办到呢?
      

  7.   

    直接在ADODataSet得到的RecordSet里处理数据是可以的,
    但是不能对其使用SQL语句了,只能自己循环处理
      

  8.   

    同意楼上,
    既然是OPEN了ADODATASET1,而且两个ADODATASET的数据源相同.那直接处理ADODATASET1就可以啦.
    统计不一定要用SQL的GROUP BY 语句的.自己用程序来控制就可以啦..........