Дата Между Мин и Макс

1. www300 13.10.18 23:37 Сейчас в теме
Есть запрос в результате которого получаются данные за какой-от период (отбор не по периоду)
В следующем пакете запроса нужно сделать отбор по периоду из предыдущего пакета

Условие вида (не работает):
Период Между
          (Выбрать Минимум(П1.Париод) ИЗ Пакет1 КАК П1)
И
          (Выбрать Максимум(П1.Париод) ИЗ Пакет1 КАК П1)


как можно решить задачу без выгрузки и передачи параметров в новый запрос
По теме из базы знаний
Найденные решения
11. www300 14.10.18 17:13 Сейчас в теме
пока решил вопрос промежуточным Пакетом, назовём его Границы
Из первого пакета получаю одну строку с двумя полями Минимум(Период) И Максимум(Период)
Дальше Делаю ВНУТРЕННЕ СОЕДИЕНЕНИЕ с Пакетом Границы. и в условиях связи Сравнение Период МЕЖДУ Границы.Мин И Границы.Макс
user705522_constantin_h; acanta; +2 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
7. YNik 14.10.18 00:51 Сейчас в теме
(1) Так работает, после 1-го пакета:
;
////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ ПЕРВЫЕ 1
	П1.Период КАК Период
ПОМЕСТИТЬ П1
ИЗ
	Пакет1 КАК П1
УПОРЯДОЧИТЬ ПО
	П1.Период
;
////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ ПЕРВЫЕ 1
	П2.Период КАК Период
ПОМЕСТИТЬ П2
ИЗ
	Пакет1 КАК П2
УПОРЯДОЧИТЬ ПО
	П2.Период УБЫВ
;
////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	Док.Ссылка КАК Ссылка
ИЗ
	Документ.ХХХ КАК Док
	ВНУТРЕННЕЕ СОЕДИНЕНИЕ П1 КАК П1
		ПО (Док.Дата >= П1.Период)
	ВНУТРЕННЕЕ СОЕДИНЕНИЕ П2 КАК П2
		ПО (Док.Дата <= П2.Период)
Показать
2. www300 13.10.18 23:42 Сейчас в теме
Разделить условия (тоже не даёт) на
Период > (ВЫБРАТЬ Миниумум(П1.Период) ИЗ Пакет1 КАК П1))
Период < (ВЫБРАТЬ Максимум(П1.Период) ИЗ Пакет1 КАК П1))
3. acanta 13.10.18 23:45 Сейчас в теме
Период Между
(Выбрать Минимум(П1.Париод) ИЗ Пакет1 КАК П1)
И
(Выбрать Максимум(П2.Париод) ИЗ Пакет1 КАК П2)

Внутреннее соединение по условию?
4. www300 14.10.18 00:00 Сейчас в теме
попробую, но ругался не на название пакета
а будто ожидает &, то есть конкретный параметр
5. www300 14.10.18 00:03 Сейчас в теме
спасибо, пока не знаю
удаленка отвалилась, утром попробую, напишу
6. acanta 14.10.18 00:05 Сейчас в теме
10. www300 14.10.18 17:04 Сейчас в теме
(6)

с условием сравнения "В" всё понятно, оно работает и использование запроса там работает
не рбоатет указание мин-макс границ периода для условия сравения МЕЖДУ, для типа данных дата
8. acanta 14.10.18 11:28 Сейчас в теме
По документам да, разницы нет, можно и внутренним соединением. А если в запросе регистр и надо передавать динамически период в параметры виртуальной таблицы. ?
9. www300 14.10.18 16:56 Сейчас в теме
3. acanta 44 13.10.18 23:45
Период Между
(Выбрать Минимум(П1.Париод) ИЗ Пакет1 КАК П1)
И
(Выбрать Максимум(П2.Париод) ИЗ Пакет1 КАК П2)

Внутреннее соединение по условию?


Ни в условии ни в условии в связи не работает, Синатксическая ошибка перед выбором, типа ждёт &
11. www300 14.10.18 17:13 Сейчас в теме
пока решил вопрос промежуточным Пакетом, назовём его Границы
Из первого пакета получаю одну строку с двумя полями Минимум(Период) И Максимум(Период)
Дальше Делаю ВНУТРЕННЕ СОЕДИЕНЕНИЕ с Пакетом Границы. и в условиях связи Сравнение Период МЕЖДУ Границы.Мин И Границы.Макс
user705522_constantin_h; acanta; +2 Ответить
Оставьте свое сообщение

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