2013-07-12 79 views
0

我是個新手。這可能是一個簡單的解決方法。「where」附近的SQL語法錯誤

查詢:

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 

/建議的想法?謝謝!

回答

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; 
+0

曾爲 - 剛剛到使用條款移動去年的括號內。謝謝! – user2575851

+0

@ user2575851別忘了你也可以爲答案投票;) – Parado