|
Как в запросе получить последний документ на дату другого документа? | ☑ | ||
---|---|---|---|---|
0
Sta-yer
04.07.15
✎
09:51
|
Поясню. Есть два документа Заказ и УстановкаЦены, у обоих есть реквизит Контрагент. Они между собой не связаны. В первой временной таблице в запросе у меня есть выбранные заказы и их даты. Как мне присоединить в это таблице ссылку на последнюю УстановкуЦен на дату Заказа? (так как на каждого контрагента может быть несколько установок)
|
|||
1
GROOVY
04.07.15
✎
10:19
|
ПО Док.Дата > Док2.Дата
|
|||
2
GROOVY
04.07.15
✎
10:21
|
https://www.google.ru/search?q=срез+последних+на+каждую+дату
|
|||
3
Escander
04.07.15
✎
10:21
|
(0) типа как правильнее иметь для быстрого доступа к сведениям по цене специальный РС
|
|||
4
Лефмихалыч
04.07.15
✎
10:46
|
Я бы в качестве постоянного решения регистр под это сделал. А, ест радо один раз временно, то соединить по условию (1), потом выбрать максимум из второй таблицы и опять соединить, но уже по ссылке, а не по дате
|
|||
5
vde69
04.07.15
✎
11:38
|
примерно для этого есть обьект "Критерии отбора"
|
|||
6
Sta-yer
04.07.15
✎
14:36
|
(4) Вот так? Где неправильно сделал? Соединяет каздую Заявку с каждой Установкой на данного контрагента, а нужно только с одной установкой - последней на дату Заявки.
ВЫБРАТЬ ВложенныйЗапрос.Ссылка, ВложенныйЗапрос.Контрагент, ВложенныйЗапрос.Дата, УстановкаРасходнойЦены.Ссылка КАК Ссылка1, ВложенныйЗапрос.Дата1 ИЗ (ВЫБРАТЬ Заявка.Ссылка КАК Ссылка, Заявка.Контрагент КАК Контрагент, Заявка.Дата КАК Дата, МАКСИМУМ(УстановкаРасходнойЦены.Дата) КАК Дата1 ИЗ Документ.Заявка КАК Заявка ЛЕВОЕ СОЕДИНЕНИЕ Документ.УстановкаРасходнойЦены КАК УстановкаРасходнойЦены ПО (УстановкаРасходнойЦены.Дата <= Заявка.Дата) И Заявка.Контрагент = УстановкаРасходнойЦены.Контрагент СГРУППИРОВАТЬ ПО Заявка.Ссылка, Заявка.Контрагент, Заявка.Дата) КАК ВложенныйЗапрос ЛЕВОЕ СОЕДИНЕНИЕ Документ.УстановкаРасходнойЦены КАК УстановкаРасходнойЦены ПО ВложенныйЗапрос.Контрагент = УстановкаРасходнойЦены.Контрагент |
|||
7
RomanYS
04.07.15
✎
14:39
|
в нижнее соединение добавь
И ВложенныйЗапрос.Дата1 = УстановкаРасходнойЦены.Дата |
|||
8
Sta-yer
04.07.15
✎
14:49
|
(7) Точно) Все Взлетело)) Вот собственно итог:
ВЫБРАТЬ ВложенныйЗапрос.Ссылка КАК Заявка, ВложенныйЗапрос.Контрагент КАК Контрагент, ВложенныйЗапрос.Дата КАК ДатаЗаявки, УстановкаРасходнойЦены.Ссылка КАК Установка, ВложенныйЗапрос.ДатаУстановки ИЗ (ВЫБРАТЬ Заявка.Ссылка КАК Ссылка, Заявка.Контрагент КАК Контрагент, Заявка.Дата КАК Дата, МАКСИМУМ(УстановкаРасходнойЦены.Дата) КАК ДатаУстановки ИЗ Документ.Заявка КАК Заявка ЛЕВОЕ СОЕДИНЕНИЕ Документ.УстановкаРасходнойЦены КАК УстановкаРасходнойЦены ПО (УстановкаРасходнойЦены.Дата <= Заявка.Дата) И Заявка.Контрагент = УстановкаРасходнойЦены.Контрагент СГРУППИРОВАТЬ ПО Заявка.Ссылка, Заявка.Контрагент, Заявка.Дата) КАК ВложенныйЗапрос ЛЕВОЕ СОЕДИНЕНИЕ Документ.УстановкаРасходнойЦены КАК УстановкаРасходнойЦены ПО ВложенныйЗапрос.Контрагент = УстановкаРасходнойЦены.Контрагент И ВложенныйЗапрос.ДатаУстановки = УстановкаРасходнойЦены.Дата |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |