У меня есть список дат, получаемый из регистра сведений, и нужно на каждую дату получить СрезПоследних должностей сотрудника из другого регистра.. Делаю запрос:
Выходит таблица, в которой на каждую дату показывается все данные регистра сведений, которые были записаные после этой даты, как сделать отбор по записям на каждую дату с максимальным периодом регистрации я не понимаю, помогите пожалуйста.
ВЫБРАТЬ
ДанныеПроизводственногоКалендаря.Дата КАК Дата,
СведенияОСотрудниках.Сотрудник КАК Сотрудник,
СведенияОСотрудниках.Должность КАК Должность,
МАКСИМУМ(СведенияОСотрудниках.Период) КАК Период
ИЗ
РегистрСведений.ДанныеПроизводственногоКалендаря КАК ДанныеПроизводственногоКалендаря
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СведенияОСотрудниках КАК СведенияОСотрудниках
ПО (СведенияОСотрудниках.Период <= ДанныеПроизводственногоКалендаря.Дата)
СГРУППИРОВАТЬ ПО
ДанныеПроизводственногоКалендаря.Дата,
СведенияОСотрудниках.Сотрудник,
СведенияОСотрудниках.Должность
УПОРЯДОЧИТЬ ПО
Дата
ПоказатьВыходит таблица, в которой на каждую дату показывается все данные регистра сведений, которые были записаные после этой даты, как сделать отбор по записям на каждую дату с максимальным периодом регистрации я не понимаю, помогите пожалуйста.
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
(1)Поле должность у вас лишнее, упорядочивание по дате - преждевременное.
Необходимо поместить результат во временную таблицу и еще раз выполнить левое соединение временной таблицы с РегистрСведений.СведенияОСотрудниках, но уже по равенству Период и Сотрудник.
Необходимо поместить результат во временную таблицу и еще раз выполнить левое соединение временной таблицы с РегистрСведений.СведенияОСотрудниках, но уже по равенству Период и Сотрудник.
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)Поле должность у вас лишнее, упорядочивание по дате - преждевременное.
Необходимо поместить результат во временную таблицу и еще раз выполнить левое соединение временной таблицы с РегистрСведений.СведенияОСотрудниках, но уже по равенству Период и Сотрудник.
Необходимо поместить результат во временную таблицу и еще раз выполнить левое соединение временной таблицы с РегистрСведений.СведенияОСотрудниках, но уже по равенству Период и Сотрудник.
(2) Сделал, но результат не поменялся
ВЫБРАТЬ
ДанныеПроизводственногоКалендаря.Дата КАК Дата,
СведенияОСотрудниках.Сотрудник КАК Сотрудник,
МАКСИМУМ(СведенияОСотрудниках.Период) КАК Период
ПОМЕСТИТЬ ВТ
ИЗ
РегистрСведений.ДанныеПроизводственногоКалендаря КАК ДанныеПроизводственногоКалендаря
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СведенияОСотрудниках КАК СведенияОСотрудниках
ПО (СведенияОСотрудниках.Период <= ДанныеПроизводственногоКалендаря.Дата)
СГРУППИРОВАТЬ ПО
ДанныеПроизводственногоКалендаря.Дата,
СведенияОСотрудниках.Сотрудник,
СведенияОСотрудниках.Должность
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
СведенияОСотрудниках.Должность КАК Должность,
ВТ.Дата КАК Дата,
ВТ.Сотрудник КАК Сотрудник
ИЗ
ВТ КАК ВТ
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СведенияОСотрудниках КАК СведенияОСотрудниках
ПО СведенияОСотрудниках.Сотрудник = ВТ.Сотрудник
И СведенияОСотрудниках.Период = ВТ.Период
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот