select transportid,stationid,trainnum-(select sum(admitnum) from jg where transportid=daily_report.transportid),profit from daily_report
having( select sum(admitnum) from jg where transportid=daily_report.transportid)<trainnum
关键在于聚合函数不能用where 判断,而要用having 

解决方案 »

  1.   

    还是说Desstationid在选择列表中无效,因为该列未包含在聚合函数中,并且没有 GROUP BY 子句等等错误。
      

  2.   

    select transportid,stationid,trainnum-(select sum(admitnum) from jg where transportid=daily_report.transportid),profit from daily_report
    having( select sum(admitnum) from jg where transportid=daily_report.transportid)<trainnum)
    少了一个括号吧.
      

  3.   

    加了括号后的错误是:还是说Desstationid在选择列表中无效,因为该列未包含在聚合函数中,并且没有 GROUP BY 子句等等错误。