Я пытаюсь вернуть список лет, когда выполняются определенные условия, но у меня возникают проблемы с функцией MAX, и она работает с остальной частью моей логики.
Для следующих двух таблиц:
coach
coach | team | wins | year
------+------+------+------
nk01 | a | 4 | 2000
vx92 | b | 1 | 2000
nk01 | b | 5 | 2003
vx92 | a | 2 | 2003
team
team | worldcupwin | year
-----+-------------+------
a | Y | 2000
b | N | 2000
a | Y | 2003
b | N | 2003
Я хочу получить следующий результат:
years
-----
2000
Где напечатаны годы, когда команда тренеров с большинством побед в этом году также выиграла кубок мира.
Я решил использовать функцию MAX, но быстро столкнулся с проблемой незнания, как использовать ее, чтобы искать максимальные значения только для определенного года.Вот что я получил до сих пор:
SELECT y.year
FROM (SELECT c.year, MAX(c.wins), c.team
FROM coach AS c
WHERE c.year >= 1999
GROUP BY c.year, c.team) AS y, teams AS t
WHERE y.year = t.year AND t.worldcupwin = 'Y' AND y.team = t.team;
Этот запрос выводит для меня все годы, больше чем 1999, а не только те, где тренер с наибольшим количеством побед также выиграл кубок мира.(Используя postgresql)
Любая помощь приветствуется!