有表1:A
字段名  LAOBAONO,LAOBAONAME
        1     毛巾
        2       手套
  表2:B
字段名  ZHIGONGNO,LAOBAONO,LINGYONGNUM
        1            1           3
        1            2           4
        2            1           5
        2            2           5
要求输出报表C:
LAOBAONO,LINGYONGNUM
1        8
2 9编写语句如下
close;
sql.Clear;
sql.Add('select a.laobaono ,sum(b.lingyongnum)');
sql.add(' from a,b');
sql.add('group by a.laobaono');
open;
可是输出结果如下:
laobaono,lingyongnum
1 8
1 8
请问语句哪里不对,该如何改

解决方案 »

  1.   

    你的两个表没关联,应该是:
    close;
    sql.Clear;
    sql.Add('select a.laobaono ,sum(b.lingyongnum)');
    sql.add(' from a,b');
    这里!!!sql.add('a.LAOBAONO=b.LAOBAONO')sql.add('group by a.laobaono');
    open;
      

  2.   

    close;
    sql.Clear;
    sql.Add('select a.laobaono ,sum(b.lingyongnum)');
    sql.add(' from a,b');
    sql.add('a.LAOBAONO=b.LAOBAONO')
    sql.add('group by a.laobaono');
    open
    我将语句改成如上,但编译无法通过
      

  3.   

    close;
    sql.Clear;
    sql.Add('select a.laobaono ,sum(b.lingyongnum)');
    sql.add(' from a,b');
    sql.add('where a.LAOBAONO=b.LAOBAONO')
    sql.add('group by a.laobaono');
    open
    我将语句改成如上,但结果同原来一样
      

  4.   

    form1.Query1.Close;
      form1.Query1.SQL.Clear;
      form1.Query1.SQL.Add('select a.laobaono,sum(b.lingyongnum) from a,b where a.laobaono=b.laobaono group by a.laobaono');
      form1.Query1.Open;
      form1.DBGrid1.DataSource:=form1.DataSource1;
      form1.DataSource1.DataSet:=form1.Query1;
    没错啊,我试过
      

  5.   

    多谢各位,按照上述办法通过了,具体方式如下:
    新建一个form,将上述语句写入,ok,但将同样的语句复制到原来的form中,仍旧出现原来的结果,究竟为何,还有请各位帮忙