Как правильно построить запрос

1. Magnum1C 14.12.23 18:04 Сейчас в теме
Как построить запрос, чтобы если у сотрудника есть несколько строк с одинаковым днем в дате, то взял только строку с датой где время больше?

В результате по Золина Ольга Сергеевна должен получить только строку с датой 01.06.2023 0:01:01, остальных вывести без изменений, т.к. у Румянцева нет строк с одинаковым днем в дате.
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. independ 1521 14.12.23 19:44 Сейчас в теме
(1) Получить временную таблицу и далее связать по сотруднику и дате для получения значения
ВЫБРАТЬ
	НАЧАЛОПЕРИОДА(Табл.Период, ДЕНЬ) КАК ПериодДень
	МАКСИМУМ(Табл.Период) КАК Период,
	Табл.Сотрудник КАК Сотрудник
ПОМЕСТИТЬ ВТ_Табл
ИЗ
	Табл КАК Табл

СГРУППИРОВАТЬ ПО
	Табл.Сотрудник,
	НАЧАЛОПЕРИОДА(Табл.Период, ДЕНЬ)
;
ВЫБРАТЬ
	ВТ_Табл.Период КАК Период
	ВТ_Табл.Сотрудник КАК Сотрудник
	Табл.Значение КАК Значение
ИЗ
	ВТ_Табл КАК ВТ_Табл
ЛЕВОЕ СОЕДИНЕНИЕ Табл КАК Табл
ПО ВТ_Табл.Период=Табл.Период И ВТ_Табл.Сотрудник=Табл.Сотрудник

Показать
5. Magnum1C 14.12.23 19:56 Сейчас в теме
(4)спс, сейчас подумаю и попробую
2. starjevschik 14.12.23 19:24 Сейчас в теме
А какие варианты рассматриваются? тут вроде не так много можно придумать.
3. Magnum1C 14.12.23 19:29 Сейчас в теме
(2)Любые рабочие варианты
6. Said-We 15.12.23 00:43 Сейчас в теме
(3) Их много. По сути вам нужен срез последних. Даже в 1С несколько вариантов.
Про не 1С их ещё больше....
Если нужно на каждую дату где есть какая-то запись, то это дополнительная группировка по началу дня. В остальном по сути тоже самое.
Прикрепленные файлы:
7. Said-We 15.12.23 02:29 Сейчас в теме
Примерно так можно учитывать только последние движения на каждую дату - вложенный запрос с группировкой по началу дня.
И за одно на периоды изменения разбить без лишних записей, которые по факту значения не изменяют. По "Номенклатуре 1" - это 23 января 2022 года, которое значение 100 по факту не изменяет. Не знаю нужно это будет или нет. Но нарисовал. Количество вложенных запросов можно и нужно уменьшить, но так алгоритм понятнее, поэтому оставил сознательно.

Всё написанное можно переписать на язык запросов 1С. Алгоритм можно примерно такой же. А можно и по другому.
Но в любом случае, в запросе 1С будет создание временных таблиц, джоины, много букв, и отработает это в общем случае медленнее, но визуально можно и не заметить.
Прикрепленные файлы:
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот