SELECT sum(dbo.titles.advance),avg(dbo.titles.price), dbo.publishers.pub_name
FROM dbo.titles INNER JOIN
      dbo.publishers ON dbo.titles.pub_id = dbo.publishers.pub_id
group by dbo.publishers.pub_name
having sum(dbo.titles.advance)>$2500 and avg(dbo.titles.price)>$15

解决方案 »

  1.   

    语法错误,select 中出现的列除非在聚合函数中,否则必须出现在group by 中
      

  2.   

    SELECT sum(dbo.titles.advance) as sumadvance
    ,avg(dbo.titles.price) as avgprice, dbo.publishers.pub_name
    FROM dbo.titles INNER JOIN
          dbo.publishers ON dbo.titles.pub_id = dbo.publishers.pub_id
    group by dbo.publishers.pub_name
    having sum(dbo.titles.advance)>$2500 and avg(dbo.titles.price)>$15
      

  3.   

    必须是在group by 中出现 ,楼上都改好了,呵呵
      

  4.   

    Yang_(扬帆破浪) 谢谢.分已经给上.本问题结帖.谢谢各位帮忙~