У меня есть база данных, в которой есть 2 таблицы: одна для наград и одна для фильмов. Настольные фильмы имеют рейтинг и (PK) mov ie название:
| title | rating
| Avatar | 5.0
| mid summer | 7.0
| terminator | 8.0
Настольные награды имеют mov ie название (FK), награда, результат (выигран или номинирован):
|title | award | result |
|avatar | oscar | won |
|mid summer | oscar | nominated |
|terminator | bafta | nominated |
Запрос, который я пытаюсь выполнить, состоит в том, чтобы найти все пары фильмов (m1, m2), номинированных на одну и ту же награду, так что m1 имеет более высокий рейтинг, чем m2, но m2 выиграл награду. Результат должен вернуть:
|avatar | oscar |won | 5.0
|midsummer | oscar |nominated | 7.0
Я пробовал внутреннее соединение, но каждый раз он будет показывать только разные значения. Изменения вернули неправильный результат. пример кода, который я пробовал:
select a.award as 'Award', a.result as 'Result', m.rating as 'Average
rating', m.title as 'Movie' from awards as a
inner join movies as m
on a.title = m.title
where a.result ='won' or a.result = 'nominated'
group by a.award;