Функция MS SQL MAX - PullRequest
       3

Функция MS SQL MAX

0 голосов
/ 19 февраля 2019

Существует таблица Customer , где CustomerId - это первичный ключ, и в нем есть столбец StatusId (наряду с другими столбцами, которые не важны для этого вопроса).Также есть AnotherTable , в котором есть столбец CustomerId (наряду с другими столбцами).Теперь я нашел код ниже в какой-то устаревшей хранимой процедуре:

select max(StatusId) from Customer where CustomerId = AnotherTable.CustomerId

Почему здесь когда-либо имеет смысл использовать функцию MAX?Насколько я понимаю, так как CustomerId является первичным ключом, он уникален, и если вы посмотрите на него, всегда будет возвращаться одна строка.Зачем вам делать MAX () в этом ряду?

1 Ответ

0 голосов
/ 19 февраля 2019

Вы, очевидно, не упомянули весь код, так как "anotherTable" не упоминается в разделе FROM.

Обычно вы видите max (что-то), когда есть GROUP BY, который не включаетполе something в условиях группировки, но разработчик был уверен, что существует уникальное значение, поэтому max () вернет его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...