请问
 adoquery1.SQL.Add();中
 添加的sql语句有无长度限制吗?支不支持嵌套
 我要写的sql很长,还关联了好几个表,该如何处理啊?先谢喽
select a.f_rq,a.flbm,a.flmc,sum(a.f_xsje)/10000 xsje,sum(a.f_sxxsje)/10000 sxxsje,sum(a.f_xsbs) xsbs,sum(a.f_xsje)/sum(a.f_xsbs) kdj
from (
select a.*,b.*,c.f_bmmc from (select * from tb200608_jsjysj where f_rq='20060822') a,
(select a.f_bmflbm flbm,a.f_dzbm bmbm,b.f_bmflmc flmc from tbbmfldz a,tbbmflda b where a.f_bmflbm=b.f_bmflbm and b.f_jb=2 and left(b.f_bmflbm,2)=00) b,
tbbmda c where a.f_bmbm=b.bmbm and a.f_bmbm=c.f_bmbm ) a group by a.f_rq,a.flbm,a.flmc

解决方案 »

  1.   

    如果太长了可以多次Add,别忘了最先clear;如果很短的SQL语句直接adoquery1.SQL.text :='select ***';
    连clear都省了。
      

  2.   

    分开+就可以了。
    如:
      sql:= 'select a.f_rq,a.flbm,a.flmc,sum(a.f_xsje)/10000 xsje,'+
      'sum(a.f_sxxsje)/10000 sxxsje,sum(a.f_xsbs) xsbs,sum(a.f_xsje)'+
      ...
      

  3.   

    Add里面最长可以加多少啊?
    怎么分开加啊?
      

  4.   

    SQL长度是有限制,一般不应超过8000个字符(我记得好像是)!
      

  5.   

    分开加query.sql.clear;
    query.sql.add('select * from ');
    query.sql.add('(select t.*,b.* from ta t, bb b where b.id=b.id)');