Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 SQL запрос. Поиск максимального вычисляемого значения.  [new]
Jick
Member

Откуда:
Сообщений: 6
Доброго времени суток!
Помогите пожалуйста составить запрос.
Например есть таблица:

name x y
Миша 5 23
Ваня 0 24
...
Петя 17 99


Надо выдать name у которого сумма x+y максимальная.
Почему не работает:
SELECT name, s=x+y FROM Table
WHERE s=(SELECT max(s) FROM Table)

?
4 дек 09, 21:34    [8022646]     Ответить | Цитировать Сообщить модератору
 Re: SQL запрос. Поиск максимального вычисляемого значения.  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
Проще надо быть!
SELECT TOP 1 *
FROM [Table]
ORDER BY x+y DESC;
А Ваш вариант не работает потому, что сначала обрабатывается WHERE, а SELECT - потом.
В то же время s появляется именно в SELECTе. На этапе WHERE она серверу ещё неизвестна. Поэтому так нельзя.
Кроме того, как можно выбирать из таблицы [Table] s (в подзапросе), если в ней есть только x и y, а никакого поля s нет?
4 дек 09, 21:48    [8022685]     Ответить | Цитировать Сообщить модератору
 Re: SQL запрос. Поиск максимального вычисляемого значения.  [new]
Jick
Member

Откуда:
Сообщений: 6
iap, Спасибо огромное))) Так действительно проще)
4 дек 09, 22:31    [8022846]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить