Запрос на соединение с периодическим регистром сведений

1. Dnki 4 30.01.17 18:18 Сейчас в теме
Имеется:
1. РегистрНакопления.Продажи – каждый документ записывает при проведении статистическую информацию
Например, продажи Товара А каждый день, значит каждый день несколько записей.
2. РегистрСведений.ТоварыПризнаки – периодический, независимый. В нем для каждого Товара записаны сведения на различные даты (не на каждый день!):
- 01.01.17 Товар = ТоварА, Признак = Хороший
- 08.01.17 Товар = ТоварА, Признак = Плохой
- 20.01.17 Товар = ТоварА, Признак = Очень Плохой

Необходимо запросом выбрать продажи за месяц, но возле каждой продажи Товара его значение из ТоварыПризнаки на этот день (срез первых). Если товар вообще не имеется в регистре ТоварыПризнаки – не выводить.
В моем примере запись от 10.01 должна дать Признак = Плохой.
Попробовал вроде:
ВЫБРАТЬ
	Продажи.Регистратор				КАК Документ,
	Продажи. Регистратор.Дата				КАК ДатаДок,
	Продажи.Товар				КАК Товар,	
	Продажи.Сумма					КАК РеаСум,
	ТоварыПризнаки.Признак				КАК Признак
ИЗ
	РегистрНакопления.Продажи КАК Продажи
	ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ТоварыПризнаки.СрезПервых КАК ТоварыПризнаки
	ПО
		Продажи.Товар = ТоварыПризнаки.Товар И
		Продажи.Период >= ТоварыПризнаки.Период
ГДЕ
	Продажи.Период МЕЖДУ НАЧАЛОПЕРИОДА(&ДатаНач, ДЕНЬ) И КОНЕЦПЕРИОДА(&ДатаКон, ДЕНЬ)
Показать

Но понятно – не то.
Попытался найти советы - предлагается через промежуточные таблицы. Не нравится.
Прошу подсказать.
По теме из базы знаний
Найденные решения
4. SyachinS 30.01.17 20:23 Сейчас в теме
Вложенный запрос разрезе всех дат периода будет очень тяжелым для базы данных, в связях получите запросом точный период ТоварыПризнаки который является самым близким к периоду операции.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. antz 30.01.17 18:58 Сейчас в теме
Не нравится через промежуточные таблицы - делайте через вложенные запросы.
3. Dnki 4 30.01.17 19:49 Сейчас в теме
Совет ценный. Спасибо. С
Помогите с вложенным запросом.
4. SyachinS 30.01.17 20:23 Сейчас в теме
Вложенный запрос разрезе всех дат периода будет очень тяжелым для базы данных, в связях получите запросом точный период ТоварыПризнаки который является самым близким к периоду операции.
5. Dnki 4 30.01.17 20:51 Сейчас в теме
Любой тяжелый запрос получше, чем делать. Запрос в цикле на каждую продажу.
Бо, если не получится, так и сотворю.
6. mkalimulin 1169 30.01.17 22:37 Сейчас в теме
Эта задача называется "срез последних на каждую дату в запросе". Решение легко гуглится.
Пользуйтесь конструктором JUG. http://infostart.ru/public/569569/ Там есть библиотека шаблонов (ваш случай там тоже есть).
7. Dnki 4 31.01.17 02:19 Сейчас в теме
Таки добил! Спасибо ответившим.
Помогла древняя публикация http://infostart.ru/public/21181/ автор Ivon.
а также обширный инет http://kb.mista.ru/article.php?id=92
Оставьте свое сообщение

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