левое соединение 1с 8.2 через условие, работает как внутреннее #751350


#0 by DmitriyDI
Делаю нечто похожее на срез остатков на каждую дату, но соединяю левым соединением через условие вида: ВложенныйЗапрос.Период1 и ВложенныйЗапрос.Период2 могут быть пустой датой, и почемуто- это условие работает ни как левое соединение, а как внутреннее.
#1 by AlexTim03
Мега-баян
#2 by hhhh
что с чем соединяется здесь?
#3 by DmitriyDI
давай, трави в чем проблема)? соединяю не через ГДЕ
#4 by Nuobu
Бонусы со вложеннымЗапросом. Перенеси в ГДЕ.
#5 by DmitriyDI
ВложенныйЗапрос левым соединением с бонусами
#6 by Матиус
в результат попадают записи если одно условий = истина
#7 by Матиус
сам запрос где?
#8 by Господин ПЖ
по ложь будет пусто
#9 by DmitriyDI
а можете объяснить почему так? я всегда думал, что наоборот условие в где делает левое соединение, внутренним. так записи из ВложенныйЗапрос должны быть все, соединение то левое?
#10 by hhhh
может там ВложенныйЗапрос.Период равно NULL? тогда действительно ЛОЖЬ вернет
#11 by Nuobu
Я прикалываюсь. Если это у тебя поле, то тогда он и правда правильно поступает. Переделай с помощью ЕстьNull(ВложенныйЗапрос.Период2, ДатаВремя(1,1,1)). Должно помочь.
#12 by DmitriyDI
во вложенном запросе я делаю проверку на естьнул, попробовал все равно прописать, не взлетело.
#13 by Nuobu
Тогда, может, дело не  этом условии? Удали из условия ВложенныйЗапрос, поставь вместо сравнения Истину и проверь.
#14 by DmitriyDI
проверял, убираю условие, все как надо работает
#15 by hhhh
ну может действительно пустые даты ему подсовываете?
#16 by DmitriyDI
упростил условие: ЕСТЬNULL(ВложенныйЗапрос.Период1, ДАТАВРЕМЯ(1, 1, 1)) >= Бонусы.Период, работает как внутреннее опять, убираю, как левое
#17 by DmitriyDI
даже если пустая дата в период1, то это же условие на соединение, почему часть документов не попадает...
#18 by hhhh
а в ГДЕ что написано?
#19 by Nuobu
Может, у тебя ВложенныйЗапрос это основная таблица? Может, галочка не с той стороны стоит?
#20 by hhhh
так и есть, читай
#21 by DmitriyDI
ничего, может скд что подставляет, сейчас в консоли скд запущу проверю.
#22 by DmitriyDI
скд это условие изменяет и оно оказывается в блоке ГДЕ!
#23 by DmitriyDI
всем спасибо, разобрался, соединение было в норме, просто в скд был отбор, по реквизиту, который я не проверил на нулл.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С