select a.*,p.qjje,p.qjcs,p.qjgf,p.qjlf
from k_view a
left outer join (select khdm,sum(xse) as qjje,sum(gf) as qjgf,sum(lf) as qjlf,count(ro_no) as qjcs
from ro where wxjd='已结' and jd_date>='2008-07-07' AND jd_date<='2009-09-09' group by khdm) p on a.khdm=p.khdm
where P.QJJE>0 ORDER BY P.QJJE在sql查询分析器中数据正确,显示5000条记录
在cxgrid中,数据也正确,但还是现实7800条记录,谁知道为什么
from k_view a
left outer join (select khdm,sum(xse) as qjje,sum(gf) as qjgf,sum(lf) as qjlf,count(ro_no) as qjcs
from ro where wxjd='已结' and jd_date>='2008-07-07' AND jd_date<='2009-09-09' group by khdm) p on a.khdm=p.khdm
where P.QJJE>0 ORDER BY P.QJJE在sql查询分析器中数据正确,显示5000条记录
在cxgrid中,数据也正确,但还是现实7800条记录,谁知道为什么
select count(*)
from k_view a
left outer join (select khdm,sum(xse) as qjje,sum(gf) as qjgf,sum(lf) as qjlf,count(ro_no) as qjcs
from ro where wxjd='已结' and jd_date>='2008-07-07' AND jd_date <='2009-09-09' group by khdm) p on a.khdm=p.khdm
where P.QJJE>0 ORDER BY P.QJJE 查出来的确是5000条吗?
另外在代码里判断下你那个数据集查出来是多少条,不是CSGIRD里显示的
大家帮忙啊
没法弄成view,因为那个时间段是要根据用户选择变化的
用RecordCount跟踪出来是7000,下边怎么弄???
S:='select a.*,p.qjje,p.qjcs,p.qjgf,p.qjlf from k_view a '
+'left outer join (select khdm,sum(xse) as qjje,sum(gf) as qjgf,'
+'sum(lf) as qjlf,count(ro_no) as qjcs from ro where wxjd=''已结'''
+' and jd_date>='''+cxDateEdit1.Text+''''
+' AND jd_date<='''+cxDateEdit2.Text+''''
+' group by khdm) p on a.khdm=p.khdm AND P.QJJE>0 AND P.QJCS>0';
DataModule1.qry2.Active:=FALSE;
DataModule1.qry2.SQL.Clear;
DataModule1.qry2.SQL.Add(S);
DataModule1.qry2.Active := true;
showmessage(inttostr(datamodule1.qry2.RecordCount));
谁帮看看那里错了???
应该是where结贴给分