#0
by Fedor
Есть запрос. Его результатом является определенное кол-во строк. Но маленький набор строк из него нужно исключить. Этот маленький набор строк можно получить другим запросом. Как правильнее реализовать єто задачу? Сделать вложенный запрос? Можно ли в этом случае объединить основную и вложенную таблицы так, чтоб из основного набора данных исключались данные второго запроса? Или лучше сделать Запрос пакета 2, и проверять чтоб данные первого набора данных были НЕ В втором наборе?
#4
by Дядя Васька
+ Вроде ж по левому должны войти все строки большого запроса, и те из маленького, которые соответствуют условию соединения. Может внутреннее?
#9
by vde69
использовать "В" имеет смысл только в условии джойна... в самый оптимальный путь, по сколько джойн большого с малым очень быстрый и проверка на нулл в конце то-же быстрая
#10
by Дядя Васька
Так условие все-таки в джойне или в в ГДЕ, в верхнем запросе? Я так понял что получается бесполезный джойн (новых колонок не добавляется) а потом уже в ГДЕ условие на невхождение во вложенный запрос.
#11
by vde69
проверка на нулл конечно в секции "где", то есть сначало джойн а потом условие на нулл по маленькой таблице, тем самым мы оставим только записи из большой таблице которых нет в маленькой
#14
by Starhan
в прделагает сразу проверку наложить на невхождение в список из подзапроса. Вопрос только в том, что быстрее будет соедеинение и простой отбор НЕ Есть Null или отбор с условием Не В (список из подзапроса)
#16
by Дядя Васька
, Вопрос имеет смысл если этот джойн сам лишние строки уберет, то есть будет не левый, а внутренний и за счет условий соединения в итоговой таблице останется только то что надо, в данном же случае он этого не делает, и используется только для того чтобы в основном запросе можно было обратиться к полю вложенного. Что в общем-то и не нужно.
#18
by kosts
Неудобство в сопоставлении реквизитов, что если связать нужно будет не по ссылке, а одновременно еще и по дате. К тому же фирма 1С рекомендует так не делать, т.к. возможно появление тормозов... В общем на выбор.
#20
by Дядя Васька
Ну так джойн надо внутренний использовать, а не левый. В условиях соединения все и проверять, чтобы именно он убрал лишнее. А с левым те же яйца только в профиль, все равно в where проверка, а не в on.
#21
by kosts
Вот запрос от балды, хочется увидеть вариант с внутренним соединением (для самообразования так сказать). Получить не праздничные дни из графика
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Помогите исключить БанковкуюВыписку из Запроса.
- Как в запросе получить данные из другого запроса по условию
- v7: Исключить обороты между счетами
- V82.COMConnector Как получить данные запроса?
- v8: Как из запроса исключить документы которые являются основаниями для других докум?
- Передать в параметр одного запроса значение из другого запроса
В этой группе 1С
- Оптимизированы ли типовые конфигурации под ms sql ?
- Программно сформировать отчет на обычных формах
- Время работы отчета (на СКД) в подвале отчета.
- УТ11 При копировании роли интерфейс урезается.
- Журнал транзакций заполнен, что же делать?
- ББУ: Закрытие 210 счета
- Параметры сеанса в ограничениях доступа. Управляемое приложение.
- Вывод на печать в управляемой форме обработки
- Как ускорить восстановление последовательности БП 2.0 ?
- БГУ и автозаполнение 0503125 - не дает по счет 304.04
- &НаКлиентеНаСервереБезКонтекста
- Ошибка после переноса ЗИК 7.7 + ЗУП 8 своды начислений
- УП, СообщениеПользователю: как привязать к другой форме?
- Бух начальное заполнение информационной базы
- Обновление "свернутого" отчета (Табличный документ с автогруппировками)
- Если нужно программно назначить действие колонке таблицы,
- Ошибка СУБД: Обработчик запросов исчерпал внутренние ресурсы...
- Qip 2012 и майл агент
- 1с ЗУП ввод адреса сотрудника
- Пропали документы при обновлении 8 БП