powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / SQL-запрос для выборки максимального
8 сообщений из 8, страница 1 из 1
SQL-запрос для выборки максимального
    #39795534
Фотография Ганов Александр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
все форумчанам, добрый день.

иссяк запас мыслей в написании запроса, чето не "догоню" как сделать, прошу по-возможности подсказать.
есть обычная таблица со значениями интервалов и процентов по интервалам
делаю в нее запрос и рассчитывают столбец, чтобы потом открыть рекордсет

Код: vbnet
1.
2.
3.
4.
5.
strSQLМаксВыводИнтервала = "([ПроцДепоИнтервалКонец]*(1-Nz([ПроцЗаВыводРазмер],0))+(nz([ДниИнтервалНачало],0)+1)*" & Replace(CStr(Format(sngПроцентФактКЛД, "0.000000")), ",", ".") & ")"
 
strSQL = "Select Код, " & strSQLМаксВыводИнтервала & " as МаксВыводИнтервала " _
     & "From Интервалы " _
     & "Where ПроектНазвание='" & strПроектНазвание & "' and ТарифКод=" & lngТарифКод & " "


отбирается рассчитанный ряд значений:
0,4064
0,4984
0,5984
0,8984
1,3904

не могу понять как дописать запрос, чтобы отобрать максимальное из уже из рассчитанных значений. Агрегатные функции типа min и max не работают, как я понимаю, с Having или Where на случае если данный запрос использовать в качестве подзапроса. По крайней мере попробовал, access ругается, "говорит", что нельзя сделать. Задачу выполнил: просто по-Loop-ил в рекордсете через While и нашел нужное значение, но хочется правильного решения, чтобы рекородсет уже наполнился сразу единственным значением.

буду признателен за подсказку как сделать или где глянуть пример.
...
Рейтинг: 0 / 0
SQL-запрос для выборки максимального
    #39795545
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ганов Александркак дописать запрос, чтобы отобрать максимальное из уже из рассчитанных значений1) Добавить сортировку по расчётному полю в порядке уменьшения;
2) Добавить TOP 1 .
...
Рейтинг: 0 / 0
SQL-запрос для выборки максимального
    #39795546
Фотография Ганов Александр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
з.ы. Пробовал через Dmax, все отбирает, но для этого запрос должен быть сохранен в базе, просто со строкой SQL Dmax не работает. В общем, что-то "не выходит каменный цветок"
...
Рейтинг: 0 / 0
SQL-запрос для выборки максимального
    #39795552
Фотография Ганов Александр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina, отличный вариант. Спасибо
...
Рейтинг: 0 / 0
SQL-запрос для выборки максимального
    #39795746
Фотография Ганов Александр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina, все как надо работает. Заодно еще раз прочитал все предикаты, честно говоря, Top первый раз в принципе использовал, век живи век учись
...
Рейтинг: 0 / 0
SQL-запрос для выборки максимального
    #39795762
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ганов Александр, ты в курсе, Что TOP 1 вернёт не одну запись если будут одинаковые значения?
...
Рейтинг: 0 / 0
SQL-запрос для выборки максимального
    #39795824
Фотография Ганов Александр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург, в инструкции по этому поводу есть сноска.
The TOP predicate does not choose between equal values. In the preceding example, if the twenty-fifth and twenty-sixth highest grade point averages are the same, the query will return 26 records.
В мое варианте, думаю, что такие значения не должны встретить в принципе. Но если вдруг встретятся... добавил проверку еще по одному полю, если два одинаковых значения, то выбрать то, у которого второе поле минимальное
Спасибо за замечание
...
Рейтинг: 0 / 0
SQL-запрос для выборки максимального
    #39795830
Фотография Ганов Александр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург, либо еще Distinct добавить.. по ситуации
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / SQL-запрос для выборки максимального
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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