Получение ближайшей даты запросом

1. Ujine1313 10 04.12.24 03:55 Сейчас в теме
Всем привет, есть две таблицы
Т1 С поступлениями денег и датой
Т2 Менеджер на договоре с датой его назначения
как сопоставить запросом поступление и менеджера?
см.скрин.
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
4. Ujine1313 10 04.12.24 20:46 Сейчас в теме
ВЫБРАТЬ РАЗЛИЧНЫЕ
	ИтоговаябезИстории.План КАК План,
	ЕСТЬNULL(ИтоговаябезИстории.Контрагент, ИсторияДоговоровПоАккаунтам.Контрагент) КАК Контрагент,
	ИтоговаябезИстории.Факт КАК Факт,
	ИтоговаябезИстории.ДатаФакт КАК ДатаФакт,
	ИтоговаябезИстории.Организация КАК Организация,
	ИтоговаябезИстории.Договор КАК Договор,
	МАКСИМУМ(ИсторияДоговоровПоАккаунтам.Период) КАК Период,
	ИтоговаябезИстории.Ответственный КАК Ответственный
ПОМЕСТИТЬ ГруппировкаОбщаясИториейБезАМ
ИЗ
	ИтоговаябезИстории КАК ИтоговаябезИстории
		ПОЛНОЕ СОЕДИНЕНИЕ РегистрСведений.ИсторияДоговоровПоАккаунтам КАК ИсторияДоговоровПоАккаунтам
		ПО (ИсторияДоговоровПоАккаунтам.Контрагент = ИтоговаябезИстории.Контрагент)
			И ИтоговаябезИстории.ДатаФакт >= ИсторияДоговоровПоАккаунтам.Период

СГРУППИРОВАТЬ ПО
	ИтоговаябезИстории.Факт,
	ИтоговаябезИстории.ДатаФакт,
	ИтоговаябезИстории.Организация,
	ИтоговаябезИстории.Договор,
	ИтоговаябезИстории.План,
	ЕСТЬNULL(ИтоговаябезИстории.Контрагент, ИсторияДоговоровПоАккаунтам.Контрагент),
	ИтоговаябезИстории.Ответственный
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ГруппировкаОбщаясИториейБезАМ.План КАК План,
	ЕСТЬNULL(ГруппировкаОбщаясИториейБезАМ.Контрагент, ИсторияДоговоровПоАккаунтам.Контрагент) КАК Контрагент,
	ГруппировкаОбщаясИториейБезАМ.Факт КАК Факт,
	ГруппировкаОбщаясИториейБезАМ.ДатаФакт КАК ДатаФакт,
	ГруппировкаОбщаясИториейБезАМ.Организация КАК Организация,
	ГруппировкаОбщаясИториейБезАМ.Договор КАК Договор,
	ГруппировкаОбщаясИториейБезАМ.Период КАК Период,
	ЕСТЬNULL(ИсторияДоговоровПоАккаунтам.АккаунтМенеджер, ГруппировкаОбщаясИториейБезАМ.Ответственный) КАК АккаунтМенеджер
ИЗ
	ГруппировкаОбщаясИториейБезАМ КАК ГруппировкаОбщаясИториейБезАМ
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ИсторияДоговоровПоАккаунтам КАК ИсторияДоговоровПоАккаунтам
		ПО ГруппировкаОбщаясИториейБезАМ.Контрагент = ИсторияДоговоровПоАккаунтам.Контрагент
			И ГруппировкаОбщаясИториейБезАМ.Период = ИсторияДоговоровПоАккаунтам.Период
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. black_ziber 04.12.24 05:43 Сейчас в теме
(1)
как сопоставить запросом поступление и менеджера?

Преобразовать Т2 в ВТ с 2-мя полями даты начала и конца действия договора. Правым соединением Т1 по договору и дате между датами начала и конца "прилепить" к ВТ, не беря дату конца из нее, если нужны только те поля как на скрине.
3. Said-We 04.12.24 10:28 Сейчас в теме
(1) Задача мало чем отличается от задачи поиска процента по шкале. В данном случае вместо значения для поиска используется дата и договор, а вместо процента менеджер.
Эта же задача значение курса на дату. Только вместо валюты у вас договор, а вместо курса менеджер.

https://forum.infostart.ru/forum9/topic311296/#message3059203
4. Ujine1313 10 04.12.24 20:46 Сейчас в теме
ВЫБРАТЬ РАЗЛИЧНЫЕ
	ИтоговаябезИстории.План КАК План,
	ЕСТЬNULL(ИтоговаябезИстории.Контрагент, ИсторияДоговоровПоАккаунтам.Контрагент) КАК Контрагент,
	ИтоговаябезИстории.Факт КАК Факт,
	ИтоговаябезИстории.ДатаФакт КАК ДатаФакт,
	ИтоговаябезИстории.Организация КАК Организация,
	ИтоговаябезИстории.Договор КАК Договор,
	МАКСИМУМ(ИсторияДоговоровПоАккаунтам.Период) КАК Период,
	ИтоговаябезИстории.Ответственный КАК Ответственный
ПОМЕСТИТЬ ГруппировкаОбщаясИториейБезАМ
ИЗ
	ИтоговаябезИстории КАК ИтоговаябезИстории
		ПОЛНОЕ СОЕДИНЕНИЕ РегистрСведений.ИсторияДоговоровПоАккаунтам КАК ИсторияДоговоровПоАккаунтам
		ПО (ИсторияДоговоровПоАккаунтам.Контрагент = ИтоговаябезИстории.Контрагент)
			И ИтоговаябезИстории.ДатаФакт >= ИсторияДоговоровПоАккаунтам.Период

СГРУППИРОВАТЬ ПО
	ИтоговаябезИстории.Факт,
	ИтоговаябезИстории.ДатаФакт,
	ИтоговаябезИстории.Организация,
	ИтоговаябезИстории.Договор,
	ИтоговаябезИстории.План,
	ЕСТЬNULL(ИтоговаябезИстории.Контрагент, ИсторияДоговоровПоАккаунтам.Контрагент),
	ИтоговаябезИстории.Ответственный
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ГруппировкаОбщаясИториейБезАМ.План КАК План,
	ЕСТЬNULL(ГруппировкаОбщаясИториейБезАМ.Контрагент, ИсторияДоговоровПоАккаунтам.Контрагент) КАК Контрагент,
	ГруппировкаОбщаясИториейБезАМ.Факт КАК Факт,
	ГруппировкаОбщаясИториейБезАМ.ДатаФакт КАК ДатаФакт,
	ГруппировкаОбщаясИториейБезАМ.Организация КАК Организация,
	ГруппировкаОбщаясИториейБезАМ.Договор КАК Договор,
	ГруппировкаОбщаясИториейБезАМ.Период КАК Период,
	ЕСТЬNULL(ИсторияДоговоровПоАккаунтам.АккаунтМенеджер, ГруппировкаОбщаясИториейБезАМ.Ответственный) КАК АккаунтМенеджер
ИЗ
	ГруппировкаОбщаясИториейБезАМ КАК ГруппировкаОбщаясИториейБезАМ
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ИсторияДоговоровПоАккаунтам КАК ИсторияДоговоровПоАккаунтам
		ПО ГруппировкаОбщаясИториейБезАМ.Контрагент = ИсторияДоговоровПоАккаунтам.Контрагент
			И ГруппировкаОбщаясИториейБезАМ.Период = ИсторияДоговоровПоАккаунтам.Период
Показать
Оставьте свое сообщение

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