Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Отбор по максимальному значению в результате запроса
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.3
Constantus
Приветствую, Форумчане!
1с.8.3.6, самопис, БСП, УФ

Имеется результат некоего запроса:

Вася_3
Вася_2
Вася_1

Петя_4
Галя_3
Олег_4
Олег_1

Саша_2
Гоша_3
Гоша_2


Как видно, есть имена с одной позицией, а есть имена с несколькими позициями с разными цифрами

Требуется оставить тех, кто имеет одно значение, а те, кто имеет несколько значений, оставить с максимальной цифрой, т.е.:


Вася_3
Петя_4
Галя_3
Олег_4
Саша_2
Гоша_3

Никак не могу составить запрос на базе этого результата. Подскажите.
TrasserZero
Простор для фантазии - много вариантов.. Я бы пилил как-то так: ТЗ отсортировать, создать что-то. ну к примеру еще одну ТЗ.. первую строку скопировать в новую ТЗ, затем считать до разделителя, сравнить со следующей. Если одинаково - вторую тоже скопировать в ту же ТЗ.. Если не одинаково - создаем следующую ТЗ... и так до упора. Полученные ТЗ отсортируем по убыванию, удаляем все, кроме первой строки. Получили сколько-то ТЗ из одной строки каждая.. Ну и далее по желанию..
Может не суперкрасиво, но что первое пришло на ум))
sava1
Цитата(TrasserZero @ 28.06.19, 0:14) необходимо зарегистрироваться для просмотра ссылки
Простор для фантазии - много вариантов..


Сколько можно лисапетов с квадратными, треугольными и т.д. колесами построить.....

А просто сгруппировать и взять МАКСИМУМ() - не приходит на ум ?
Constantus
sava1 @ Сегодня, 10:43 необходимо зарегистрироваться для просмотра ссылки ,

Была такая мысль, но задача усложнена следующим:

Вася_Явка_3
Вася_Болел_2
Вася_Прогул_1

Сгруппировать по имени и цифре и выложить по максимум можно, но вот нужно будет получить максимум с учетом Явка/Болел/Прогул
Цифры как бы символизируют приоритет отбора :-)

Подозреваю, что придется формировать временную таблицу без Явка/Болел/Прогул, выбрать максимум, а потом соединением отбор получать с полными данными
sava1
Цитата(Constantus @ 28.06.19, 9:51) необходимо зарегистрироваться для просмотра ссылки
Вася_Явка_3
Вася_Болел_2
Вася_Прогул_1


что должно быть результатом?
TrasserZero
Цитата(Constantus @ 28.06.19, 9:51) необходимо зарегистрироваться для просмотра ссылки
нужно будет получить максимум с учетом Явка/Болел/Прогул

вооот.. а в мой велосипед добавить еще одно прямоугольное колесико - и как ни странно - он поедет crazy.gif
Constantus
Цитата(sava1 @ 28.06.19, 12:28) необходимо зарегистрироваться для просмотра ссылки
Цитата(Constantus @ 28.06.19, 9:51)
Вася_Явка_3
Вася_Болел_2
Вася_Прогул_1

что должно быть результатом?


По максимальной цифре 3

Вася_Явка_3
Vladal
Цитата(Constantus @ 28.06.19, 19:50) необходимо зарегистрироваться для просмотра ссылки
что должно быть результатом?

По максимальной цифре 3

Вася_Явка_3

Надеюсь, цифры, виды явок и сотрудник в разных колонках? Или строкой? huh.gif

Из какого источника берутся данные? Это какой-то регистр или документ?
sava1
Цитата(TrasserZero @ 28.06.19, 16:00) необходимо зарегистрироваться для просмотра ссылки
а в мой велосипед добавить еще одно прямоугольное колесико - и как ни странно - он поедет


для "кулл-хацкеров"

Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.