select a.id,a.name,a.mc,avg(dj) from yy a,xx b where a.id=b.id
group by a.id,a.name,a.mc
试试

解决方案 »

  1.   

    select a.id,a.name,a.mc,b.dj  from  yy a,xx b where a.id=b.id and b.dj in(select avg(dj) from xx as)
    少个andhuo
      

  2.   

    纠正一下,where a.id=b.id 后少个and或or
      

  3.   

    select b.id,a.name,a.mc,avg(b.dj) from  yy a,xx b where a.id=b.id group by b.id
      

  4.   

    oracle_lover(数据库情人) 这样子也行??你试过没有??我下午这样子的时候好象显示avg(b.dj)不是什么组来着!!
      

  5.   

    select a.id,a.name,a.mc,(select avg(b.dj)  from xx b where b.id=a.id)   from  yy a;
      

  6.   

    to fffddd(杀我者死):
    不好意思,在你的批评下,特地建了两张和你一样的表试了一下。果然是在group by后面少写了两项(所有出现在group by语句前面的单项,即非avg(), sum()... 项,都要出现在group by后面)。下面的通过测试,结果正确:select b.id,a.name,a.mc,avg(b.dj) from  yy a,xx b where a.id=b.id group by b.id,a.name,a.mc
      

  7.   

    OK,谢谢三少和数据库情人。还有 jyqkr(酷鱼) mljiang(mljiang) 结账.
      

  8.   

    with query1.sql do
    begin
      clear;
      add('select b.id,a.name,a.mc,avg(b.dj) from');
      add('yy a,xx b where a.id=b.id');
      add('group by b.id,a.name,a.mc');
    end;
    query1.prepare;
    query1.open;