Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Запрос на выборку максим.значения / 12 сообщений из 12, страница 1 из 1
23.07.2004, 15:42:58
    #32619115
Proga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на выборку максим.значения
Вот запрос
Код: plaintext
1.
2.
3.
SELECT Max(balance.level_balance) AS level_balance
FROM balance
WHERE (((balance.type_balance)= 1 ));
Всем понятно, что он делает, но в табле balance есть ещё поля, а как бы их тоже вернуть для максимального заначения level_balance
...
Рейтинг: 0 / 0
23.07.2004, 15:48:42
    #32619136
zz
zz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на выборку максим.значения
SELECT Field1 FROM balance INNER JOIN
(SELECT Max(balance.level_balance) AS level_balance
FROM balance
WHERE balance.type_balance=1) a on balance.level_balance=a.level_balance
...
Рейтинг: 0 / 0
23.07.2004, 15:51:11
    #32619158
Deminik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на выборку максим.значения
Код: plaintext
1.
2.
3.
4.
SELECT Max(level_balance) AS level_balance, Sum(Field1) as Field1, 
First(Field2) as Field2, Count(FieldN) as FieldN
FROM balance
WHERE type_balance= 1 ;

Если это имелось ввиду....
...
Рейтинг: 0 / 0
23.07.2004, 15:55:20
    #32619180
zz
zz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на выборку максим.значения
2 Deminik:
И чего у него в итоге получиться? :)
Я так понял, он хочет вернуть из таблы макс. значение, а так же все поля, соотв. этому макс. значению.
...
Рейтинг: 0 / 0
23.07.2004, 15:59:55
    #32619197
Proga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на выборку максим.значения
to zz: что вместо field1 вводить?
...
Рейтинг: 0 / 0
23.07.2004, 16:02:20
    #32619206
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на выборку максим.значения
Progato zz: что вместо field1 вводить?
Список всех полей.
...
Рейтинг: 0 / 0
23.07.2004, 16:05:23
    #32619214
Proga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на выборку максим.значения
Саныч ты не прав
Сделал так
Код: plaintext
1.
2.
3.
SELECT balance.name AS aaa
FROM balance INNER JOIN [select Max(balance.level_balance) AS level_balance
FROM balance WHERE balance.type_balance= 1 ]. AS a ON balance.level_balance = a.level_balance;
а выдаёт
...
Рейтинг: 0 / 0
23.07.2004, 16:08:56
    #32619222
stag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на выборку максим.значения
а что, сильно хуже
Код: plaintext
1.
2.
SELECT balance.name from balance WHERE balance.level_balance=(SELECT Max(balance.level_balance) AS level_balance
FROM balance
WHERE (((balance.type_balance)= 1 )))
?
...
Рейтинг: 0 / 0
23.07.2004, 16:10:01
    #32619226
stag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на выборку максим.значения
то есть
Код: plaintext
1.
2.
3.
SELECT balance.name, balance.level_balance from balance WHERE balance.level_balance=(SELECT Max(balance.level_balance) AS level_balance
FROM balance
WHERE (((balance.type_balance)= 1 )))
...
Рейтинг: 0 / 0
23.07.2004, 16:12:43
    #32619237
Proga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на выборку максим.значения
Так
Код: plaintext
1.
2.
3.
SELECT balance.name from balance WHERE balance.level_balance=(SELECT Max(balance.level_balance) AS level_balance
FROM balance
WHERE (((balance.type_balance)= 1 )))
даже лучше.
Спасибо всем.
...
Рейтинг: 0 / 0
23.07.2004, 16:34:18
    #32619300
zz
zz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на выборку максим.значения
2 Proga:
Так как раз не лучше. Потому что если тебе надо будет получит несколько максимумов (помесячно, например), то where= уже не прокатит. Прокатит where in, но это будет тормозить. ИМХО INNER JOIN верней.
И Саныч прав.

Код: plaintext
1.
2.
3.
4.
SELECT a.name AS aaa
FROM balance a INNER JOIN [select Max(balance.level_balance) AS level_balance
FROM balance WHERE balance.type_balance= 1 ]. AS a ON balance.level_balance = a.level_balance;

...
Рейтинг: 0 / 0
23.07.2004, 17:15:06
    #32619381
Proga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на выборку максим.значения
Согласен, я вообще на вся кий пожар оставил оба способа, чтобы было.
А использую join, он мне ближе
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Запрос на выборку максим.значения / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]