Левое соединение работает как внутреннее #458660


#0 by Dirk Diggler
Хочу для таблицы вида получить дополнительную колонку цен из регистра закупки.  Делаю запрос: После чего смотрю результат выгрузки - а там остаются только те строки, где есть цена. Почему? Где строки с пустой ценой???
#1 by Ненавижу 1С
если такие строки и есть, то ты им цену своим ВЫБОР сделал 0, а не NULL
#2 by los_hooliganos
А зачем их вообще джойнить, судя по всему у тебя в регистре и так все есть))
#3 by Dirk Diggler
это ничего страшного. у меня в результате все цены ненулевые, а часть номенклатуры пропадает.
#4 by Dirk Diggler
нет, не все.
#5 by Dirk Diggler
в результате отсутствуют некоторые строки - те, для которых в регистре не нашлось записей. Я менял ВЫБОР просто на РегистрЗакупки.Количество - все равно, строки с той номенклатурой, что нет в регистре - в результат не попадают.
#6 by Ненавижу 1С
может это не весь текст запроса?
#7 by Dirk Diggler
Весь
#8 by H A D G E H O G s
Хрень какая-то.
#9 by Dirk Diggler
а, правильно! |    ГДЕ РегистрЗакупки.Период <= &Период видать, базу не обновил
#10 by Dirk Diggler
ну-ка....
#11 by Ненавижу 1С
врун
#12 by DUDE
Может не попадают строки, по товарам, у которых нет характеристик? И например, в ТЗ у таких характ. непонятно что, а в регистре null.
#13 by Dirk Diggler
Да, и правда... Как всегда - невнимательность. Вроде и знаешь, что чудес не бывает, однако ж... у меня еще вопрос по этому запросу. В результате естественно, могут быть несколько строк с одинаковыми номенклатурой и характеристикой, но разными ценами - полученными из документов от разной даты. Как оставить только строку, где цена считается из последнего по времени документа?
#14 by and_51
во вложенном запросе сделать выборку по регистру с условием кот. теребуется, а его уже присоединять, как-то так.
#15 by DUDE
можно, например, вытащить данные по датам документов с выборкой максимальной даты и соединить ее с твоей по номенклатуре и дате.
#16 by Dirk Diggler
перебирать всю номенклатуру таблицы, получая цену для неё отдельно? Скоростью такой запрос отличаться не будет, однако....
#17 by Dirk Diggler
А РазностьДат тут никак прикрутить не удастся?
#18 by and_51
это да, но в противном случае левое соединение может сработать не как того ожидаешь.
#19 by Ненавижу 1С
ГДЕ РегистрЗакупки.Период <= &Период ИЛИ РегистрЗакупки.Период ЕСТЬ NULL
#20 by and_51
вариант
#21 by Dirk Diggler
как исходный запрос исправить, я в курсе. но все равно спасибо. А вот как покрасивше решить вопрос с выбором последней цены закупки?
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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