Язык запросов предоставляет широкие возможности по построчному соединению нескольких таблиц. Соединение может быть безусловным и по ключу, то есть по заданному условию связи.
В случае безусловного соединения, в конструкторе запросов достаточно определить выбираемые таблицы, не указывая, по каким полям они будут связаны (то есть не заполняя закладку Связи):
В этом случае система вернет все возможные комбинации запрошенных таблиц - каждый элемент против каждого:
В случае безусловного соединения, в конструкторе запросов достаточно определить выбираемые таблицы, не указывая, по каким полям они будут связаны (то есть не заполняя закладку Связи):
На практике чаще встречаются задачи соединения по определенному полю двух таблиц. Например, ниже запрос, в котором нужно выбрать тех контрагентов, по которым в один день была и продажа, и покупка. Для этого таблицы документов РТУ и ПТУ соединим по полям Контрагент и Дата:
Условное соединение может быть:
- полным - все записи обеих таблиц; для тех, которым не нашлось соответствия, запрос возвращает NULL
- левым / правым - все записи из соответственно левой / правой таблицы, из противоположной только те, которым есть соответствие, для ненайденных запрос возвращает NULL. Нюанс - консоль запросов всегда преобразует правое соединение в левое, меняя таблицы местами (в случае, если запрос написать вручную, и потом открыть конструктором)
- внутренним - только совпадающие записи обеих таблиц
***
Вопрос 07.09 экзамена 1С:Профессионал по платформе. При соединении таблиц-источников данных в конструкторе запросов
можно:- Назначить соединение без указания условия связи
- Назначить соединение с указанием условия связи, причем это условие может быть только одно
- Назначить соединение с указанием условия связи, причем это условие может быть только простое
- Назначить необходимое количество соединений с указанием необходимого количества условий связи, причем эти условия могут быть как простые, так и произвольные
***
Вопрос 07.10 экзамена 1С:Профессионал по платформе. На закладке "Связи" конструктора запросов можно определить:- Соединение таблиц-источников данных и связи между ними
- Объединение таблиц-источников данных и связи между ними
- Связи между полями таблицы, получаемой в результате выполнения запроса
- Связи между полями таблицы-источника данных и таблицы, получаемой в результате выполнения запроса
***
Вопрос 07.11 экзамена 1С:Профессионал по платформе. Создание соединения таблиц-источников данных в конструкторе запросов допускает:- Соединение только двух таблиц-источников данных
- Соединение необходимого количества таблиц-источников данных
- Соединение только двух таблиц-источников данных, причем флажок "Все" обязательно должен быть проставлен хотя бы у одной из таблиц
- Соединение необходимого количества таблиц-источников данных, причем флажок "Все" обязательно должен быть проставлен хотя бы у одной из таблиц
***
Вопрос 07.12 экзамена 1С:Профессионал по платформе. Флажок "Все", устанавливаемый у таблицы, выбранной на закладке
"Связи" конструктора запросов означает:- Что в результат запроса надо включить все доступные поля этой таблицы
- Что в результат запроса надо включить все записи этой таблицы
- Что в результат запроса надо включить все поля и все записи этой таблицы
- Что результат запроса будет сформирован с учетом всех условий, заданных для соединения таблиц-источников
Правильный ответ второй - флажок определяет внешнее соединение по данной таблице (если установлен, то по данной таблице будет внешнее соединение).
в 7.10 в чем разница между ответами 1) и 2)?
ОтветитьУдалитьЭтот комментарий был удален автором.
Удалитьа я думал это игра слов и поэтому мне не понятно(я не очен хорошо знаю русскый язык)
Удалитьсоединение - построчное слияние, объединение - столбцовое.
УдалитьСпасибо!!!
ОтветитьУдалитьЕсли в конструкторе запроса при использовании нескольких таблиц очистить закладку "Связи" то
ОтветитьУдалитьЗапрос станет не исполняемым
Конструктор запроса не даст это сделать
Запрос отработает исходя из логики, которая в нем заложена
Ответ - 3.Проверено 1с тренажер.