0

我是新手。这可能是一个简单的解决方法。

询问:

select AvgR.preavgMR - AvgR.postavgMR
from (
    ((select R.mID mID, avg(R.stars) preavgMR from Rating R group by R.mID)
    join Movie M using (mID)
    where year < 1980
    )
    join    
    ((select R.mID mID, avg(R.stars) postavgMR from Rating R group by R.mID)
    join Movie M using (mID)
    where year >= 1980
    )
) AvgR using (mID);

结果:

Query failed to execute: near "where": syntax error

想法/建议?谢谢!

4

1 回答 1

0

试试这个方法:

select AvgR.preavgMR - AvgR.postavgMR
from (
    ( 
      select mID,preavgMR
      from (select R.mID mID, avg(R.stars) preavgMR from Rating R group by R.mID) T1
      join Movie M using (mID)
       where year < 1980
    )
    join    
    (
      select mID,postavgMR 
      from (select R.mID mID, avg(R.stars) postavgMR from Rating R group by R.mID) T2
    join Movie M using (mID)
    where year >= 1980
    )
) AvgR;
于 2013-07-12T10:09:52.200 回答