#tsql
#tsql
Вопрос:
Я изучаю SQL и хочу сделать следующее: мне нужно получить наибольшее значение из 2 разных таблиц. На выходе отображаются все строки, однако мне нужна одна строка с максимальным значением.
PS ОГРАНИЧЕНИЕ 1 не работает в SQL Server Management Studio
SELECT Players.PlayersID, MAX (Participants.EventsID) AS Maximum FROM Players
LEFT JOIN Participants ON Players.PlayersID = Participants.PlayersID
GROUP BY Players.PlayersID
Я четко понимаю, что это может быть глупым вопросом для профессионалов, однако Google не помог. Спасибо за понимание и вашу помощь.
Ответ №1:
Попробуйте использовать TOP
:
SELECT TOP 1
pl.PlayersID,
MAX(pa.EventsID) AS Maximum
FROM Players pl
LEFT JOIN Participants pa
ON pl.PlayersID = pa.PlayersID
GROUP BY
pl.PlayersID
ORDER BY
MAX(pa.EventsID) DESC;
Если вы хотите учесть возможность того, что два игрока будут равны по одному и тому же максимуму, тогда используйте TOP 1 WITH TIES
вместо просто TOP 1
.