2013-07-12 3 views
0

Я новичок. Это, вероятно, легкое решение.Ошибка синтаксиса 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

работал - просто надо было переместить USING положение внутри этой последней Paren. Благодаря! – user2575851

+0

@ user2575851 Не забывайте, что вы также можете проголосовать за ответ;) – Parado

Смежные вопросы