Приветствую, Форумчане!
1с.8.3.6, самопис, БСП, УФ
Имеется результат некоего запроса:
Вася_3
Вася_2
Вася_1
Петя_4
Галя_3
Олег_4
Олег_1
Саша_2
Гоша_3
Гоша_2
Как видно, есть имена с одной позицией, а есть имена с несколькими позициями с разными цифрами
Требуется оставить тех, кто имеет одно значение, а те, кто имеет несколько значений, оставить с максимальной цифрой, т.е.:
Вася_3
Петя_4
Галя_3
Олег_4
Саша_2
Гоша_3
Никак не могу составить запрос на базе этого результата. Подскажите.
Простор для фантазии - много вариантов.. Я бы пилил как-то так: ТЗ отсортировать, создать что-то. ну к примеру еще одну ТЗ.. первую строку скопировать в новую ТЗ, затем считать до разделителя, сравнить со следующей. Если одинаково - вторую тоже скопировать в ту же ТЗ.. Если не одинаково - создаем следующую ТЗ... и так до упора. Полученные ТЗ отсортируем по убыванию, удаляем все, кроме первой строки. Получили сколько-то ТЗ из одной строки каждая.. Ну и далее по желанию..
Может не суперкрасиво, но что первое пришло на ум))
sava1 @ Сегодня, 10:43
,
Была такая мысль, но задача усложнена следующим:
Вася_Явка_3
Вася_Болел_2
Вася_Прогул_1
Сгруппировать по имени и цифре и выложить по максимум можно, но вот нужно будет получить максимум с учетом Явка/Болел/Прогул
Цифры как бы символизируют приоритет отбора :-)
Подозреваю, что придется формировать временную таблицу без Явка/Болел/Прогул, выбрать максимум, а потом соединением отбор получать с полными данными
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua