Вложенные запросы в построителе #312304


#0 by selenat
Можно ли использовать во вложенных запросах построителя отчета конструкции {}. В конструкторе запроса что-то не удается выбрать те поля, которые во вложенном объявлены внутри {}...
#1 by Defender aka LINN
Для выбираемых - нет. Но для отбора работает.
#2 by selenat
т.е. во вложенном запросе должны быть объявлены все поля без {}, а потом их можно объявить как выбираемые во внешнем?
#3 by Defender aka LINN
Да. При этом можно весь вложеный запрос объявить "необязательным", т.е. если в результате пользователь не выберет ни одного поля из него, то он выбрасывается из результирующего сзапроса вообще.
#4 by selenat
а как во вложенном запросе сделать необязательное соединение с таблицей, ведь мне нужно там объявить все поля. интересует возможность использования построителем запроса типа ВЫБРАТЬ ПоляВложенного {ВЫБРАТЬ ЕщеПоляВложенного} ИЗ
#5 by selenat
+4 получается, если во вложенном обязаны выбираться все поля, то в нем все соединения с таблицами должны быть обязательными?
#6 by Defender aka LINN
Конструктором. Вот пример.
#7 by selenat
ты не понял. Это ты делаеешь выбрать из таблицы базы. А как теперь эту твою конструкцию полностью внести во вложенный запрос? Тогда ведь необязательность левого соединения придется снять?
#8 by Defender aka LINN
А ты что хотел? Если данные подзапроса не используются, то его не будет. Но это относится к подзапросу целиком.
#9 by VVi3ard
Необязательно, например в таком запросе: ВЫБРАТЬ    Абоненты.Ссылка {ВЫБРАТЬ    ВзаиморасчетыОстатки.СуммаОстаток} Если мы зададим отбор по АДРЕС то вторая таблица подключится из за условия: то же касается и вложеных запросов, если где то во вложеном запросе используется отбор который ты устанавливаешь эта таблица подключится даже если ты не выбираешь никаких других полей.
#10 by Defender aka LINN
Ясен пень :)
#11 by selenat
я хотел понять, могу ли я внутри вложенного запроса использовать конструкции типа {ЛЕВОЕ СОЕДИНЕНИЕ}, {ОБЕДИНИТЬ ВСЕ}? Похоже, что нет...
#12 by selenat
Это все к тому, что, похоже, в построителе лучше использовать левое соединение на верхнем уровне запроса (потому что его можно сделать необязательным), чем делать во вложенном Объединить все и группировку. Так?
#13 by selenat
непонятно ччто мне надо? плохо объяснил?
#14 by hhhh
ОБЕДИНИТЬ ВСЕ}? это один запрос считается
#15 by selenat
это можно сделать только на верхнем уровне запроса. Речь о том, что в обычном запросе ВМЕСТО левого соединения таблиц быстрее работает Объединить все и потом сгруппировать во вложенном запросе, а уже из этого вложенного выбираем готовый результат.
#16 by selenat
ап
#17 by selenat
какие еще есть мысли?
#18 by Defender aka LINN
Да какие тут мысли... Низя и все :)
#19 by selenat
ясно. Спасибо. Буду дальше думать...
#20 by selenat
А вот еще вопрос. Хотелось бы сделать соединение таблиц с настраиваемым составом полей (по которым соединяются таблицы). Т.е. типа Таблица1 ЛЕВОЕ СОЕДИНЕНИЕ Таблица2 Я так понимаю, что нет такой возможности? Какие альтернативы?
#21 by selenat
ап
#22 by selenat
ап
#23 by selenat
нет вариантов?
#24 by selenat
ни фига себе ветка утонула. Ну ладно, я и так понимаю, что нельзя...
#25 by selenat
оказалось, что если для 2 вирт. таблиц в параметрах задать необязательные выражения с одинаковым псевдонимом, то они будут работать так. как нужно в ...
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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