Сейчас допиливаю некоторые формы списков в ЗУП
там в типовой используются динамические списки вот с такими конструкциями:
ЖурналДокументовВедомостиНаВыплатуЗарплаты.Комментарий КАК Комментарий,
ЖурналДокументовВедомостиНаВыплатуЗарплаты.Тип КАК Тип,
ВЫБОР
КОГДА ИСТИНА В
(ВЫБРАТЬ ПЕРВЫЕ 1
ИСТИНА
ИЗ
РегистрСведений.ОплатаВедомостейНаВыплатуЗарплаты КАК ОплатаВедомостейНаВыплатуЗарплаты
ГДЕ
ОплатаВедомостейНаВыплатуЗарплаты.Ведомость = ЖурналДокументовВедомостиНаВыплатуЗарплаты.Ссылка)
ТОГДА ИСТИНА
ИНАЧЕ ЛОЖЬ
КОНЕЦ КАК ЕстьОплаты
ИЗ
ЖурналДокументов.ВедомостиНаВыплатуЗарплаты КАК ЖурналДокументовВедомостиНаВыплатуЗарплаты
т.е. в поле выборки подзапрос сидит.... не очень пойму насколько это оптимально?
Не значит ли это что подзапрос выполнится ровно столько раз сколько строк в выборке?
динамический список же поидее чтобы работать быстро должен использовать мегаоптимальный запрос - а тут вот какая развесистая конструкция получется.
(0) Запись странная, но поскольку соединение не с виртуальной таблицей, ничего неоптимального тут нет. Просто не часто встречающийся вариант получения факта наличия записей в другой таблице, а так должно работать