我有一个销售主表(dd_b),一个销售明细表(dd_mx_b),它们的编号都是相同的。我想查出主表中某个部门某天的明细数据,用这个SQL语句却查不出(明细表是有相应数据的),
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from dd_mx_b where d_bh in(select c_num from dd_b where c_date=:rq and c_bm=:mca) ');
adoquery1.Parameters.ParamByName('rq').Value:=strtodate(dxdateedit1.Text);
adoquery1.Parameters.ParamByName('mca').Value:='化工';
adoquery1.Open;
我把子句中的(c_bm=:mca)去掉就能查询出相应数据,但我单独运行select c_num from dd_b where c_date=:rq and c_bm=:mca却又可以查询出相应数据,这是为什么?加上部门参数(c_bm=:mca)就查询不了,是不是我写错了什么?各位请指点一下
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from dd_mx_b where d_bh in(select c_num from dd_b where c_date=:rq and c_bm=:mca) ');
adoquery1.Parameters.ParamByName('rq').Value:=strtodate(dxdateedit1.Text);
adoquery1.Parameters.ParamByName('mca').Value:='化工';
adoquery1.Open;
我把子句中的(c_bm=:mca)去掉就能查询出相应数据,但我单独运行select c_num from dd_b where c_date=:rq and c_bm=:mca却又可以查询出相应数据,这是为什么?加上部门参数(c_bm=:mca)就查询不了,是不是我写错了什么?各位请指点一下
c_bm=:mca,这个条件,你其实很容易判断了。到底这里有没问题,你只要把这个sql放到表里面去查询就知道了。
最好不要用漢字字段,用編號字段會好一些。
看看下边的帖子:
http://blog.csdn.net/aiunong/archive/2006/02/22/606194.aspx