这样一个查询语句?出错了,该怎么写?(100分)

  • 主题发起人 dingyongqi
  • 开始时间
D

dingyongqi

Unregistered / Unconfirmed
GUEST, unregistred user!
[blue]
ADOQuery.close;
ADOQuery1.sql.clear;
ADOQuery1.sql.add('select lb,sum(ss) group by bl where lb='收入'');
ADOQuery1.open;
请问以上出错了,这么写不成,但是我不知怎么去写它,请兄弟们帮忙?
[/blue]
 
[blue]
ADOQuery.close;
ADOQuery1.sql.clear;
ADOQuery1.sql.add('select lb,sum(ss) group by bl where lb='+''''+'收入'+'''');
ADOQuery1.open;
请问以上出错了,这么写不成,但是我不知怎么去写它,请兄弟们帮忙?
[/blue
 
将where改成 having就对了!

ADOQuery1.sql.add('select lb,sum(ss) group by lb '
+'where' //将where改成 having就对了
+'lb='收入'');
ADOQuery1.open;




 
ADOQuery.close;
ADOQuery1.sql.clear;
ADOQuery1.sql.add('select lb,sum(ss) group by lb where lb='收入'');
ADOQuery1.open;

这样就对了
 
ADOQuery.close;
ADOQuery1.sql.clear;
ADOQuery1.sql.add('select lb,sum(ss) where lb='+''''+'收入'+''''+' group by bl');
ADOQuery1.open;


 
[blue]
ADOQuery.close;
ADOQuery1.sql.clear;
ADOQuery1.sql.add('select lb,sum(ss) where lb='+''''+'收入'+''''+' group by bl ');
ADOQuery1.open;
copy 过去就可以了!
 
ADOQuery.close;
ADOQuery1.sql.clear;
ADOQuery1.sql.add('select lb,sum(ss) where lb='+''''+'收入'+''''+' group by lb ');
ADOQuery1.open;
copy 过去就可以了!
你粗心,我也跟着错了,看你的字段都写错了!
 
你还提前?问题没有解决?给个消息!
 
ADOQuery.close;
ADOQuery1.sql.clear;
ADOQuery1.sql.add('select lb,sum(ss) where lb=''收入'' group by lb ');
ADOQuery1.open;
 
ADOQuery.close;
ADOQuery1.sql.clear;
ADOQuery1.sql.add('select lb,sum(ss) group by bl where lb="收入"');
ADOQuery1.open;
 
--缺少From TabName子句,
--Where提前
--lb和bl是否同一字段?(select lb,group by bl)

ADOQuery.close;
ADOQuery1.sql.clear;
ADOQuery1.sql.add('select lb,sum(ss) FROM TABNAME where lb=''收入'' group by lb ');
ADOQuery1.open;
 
注意 lb 和 bl ,
你一开始的语句写错了。
另外,group by 可放在最后。
 
ADOQuery.close;
ADOQuery1.sql.clear;
ADOQuery1.sql.add('select lb,sum(ss) from TABLENAME where lb='+''''+'收入'+''''+' group by lb ');
ADOQuery1.open;
copy 过去就可以了!
你粗心,我也跟着错了,看你的字段都写错了!
 
谢谢楼上的兄弟,以下是正确的,我刚才调试了
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.sql.add('select lb,sum(ss) from szgl where sz='+''''+'收入'+''''+'group by lb ');
ADOQuery1.Open;
我是第一次在此提问题,以前都在CLUB.163.COM,那多半是垃圾,哈哈我终于找到一个好地方,
希望各位兄弟齐心协力把这里的人气搞的更旺!
 
恭喜你!
 
哈哈,多谢各位兄弟!
 
dingyongqi
看得眼花缭乱,究竟是什么呢?
其实就是一个字符串的问题,用几个引号的问题 还有缺少表名,可能是写丢了吧
上面的代码有多余的引号,还可简洁一点,如下:
with adoquery1 do
begin
close;
sql.Clear ;
sql.Text:='select lb,sum(ss) as ss1 from szgl where sz='''+'收入'+''' group by lb ' ;
open;
end;
 
ADOQuery.close;
ADOQuery1.sql.clear;
ADOQuery1.sql.add('select lb,sum(ss) group by bl where lb='''+trim('收入)+'''');
ADOQuery1.open;

我试了一下,这样做应该可以,你再试一下啦!
 
好的,多谢!
 
ADOQuery.close;
ADOQuery1.sql.clear;
ADOQuery1.sql.add('select lb,sum(ss) as ss from tablename where lb=''收入'' group by bl');
ADOQuery1.open;
 
顶部