|
Левое соединение (помогите с запросом) |
☑ |
0
seraf
23.04.20
✎
10:34
|
Привет, мне нужно в левом соединении выбирать первую запись.
Написал такое
ВЫБРАТЬ
Договора.Ссылка КАК ДоговорСсылка,
Заказы.ДоговорСсылка КАК ДоговорРС
ИЗ
Справочник.ДоговораСКлиентами КАК Договора
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ПЕРВЫЕ 1
ЗаказыНовыеСрезПоследних.Договор КАК ДоговорСсылка
ИЗ
РегистрСведений.ЗаказыНовые.СрезПоследних КАК ЗаказыНовыеСрезПоследних
ГДЕ ЗаказыНовыеСрезПоследних.Договор = &Ссылка) КАК Заказы
ПО (Договора.Ссылка = Заказы.ДоговорСсылка)
ГДЕ
Договора.Ссылка = &Ссылка
это для одной строки, работает, а если убрать условия ГДЕ ЗаказыНовыеСрезПоследних.Договор = &Ссылка и Договора.Ссылка = &Ссылка то не выведет ничего
как правильно соединиться таким образом?
|
|
1
seraf
23.04.20
✎
10:37
|
Вернее выведет Первые 1 для одной случайной строки, а для всех?
|
|
2
fisher
23.04.20
✎
10:55
|
Попробуй
ГДЕ ЗаказыНовыеСрезПоследних.Договор = &Ссылка
заменить на
ГДЕ ЗаказыНовыеСрезПоследних.Договор = Договора.Ссылка
|
|
3
fisher
23.04.20
✎
10:55
|
Коррелирующие подзапросы в 1С можно, но рабочий вариант навскидку могу не сообразить.
|
|
4
seraf
23.04.20
✎
10:56
|
(2) я пробовал, но пишет поле не найдено Договор.Ссылка
|
|
5
seraf
23.04.20
✎
10:58
|
ну тут вопрос в общем как соединиться с РС, в котором нужна только первая запись из набора
загуглил такое соединение, ток пока не ясно
|
|
6
fisher
23.04.20
✎
11:01
|
(5) Есть стандартный путь в два этапа. Загугли "срез последних на каждую дату". Принцип поймешь.
Но можно и коррелирующим подзапросом. Это изящнее и можно выбирать не только одну последнюю, а произвольное количество последних.
|
|