Больше всего мне нравится, что с каждым последующим видео, количество просмотров все меньше(отсюда делаем логический вывод, что остаются самые терпеливые). А вообще хочу выразить огромную благодарность вашим урокам. Они очень хорошо укладывают инфу в голову. Тяжело?да. но укладывают. Спасибо.
Мне на много проще было понять при таком разъяснении, которое я нашла в другом источнике: Внутреннее соединение - в результате него мы получаем только те записи, для которых выполняются условия соединения. Левое соединение = внутреннее соединение + недостающие записи из 1й таблицы. Правое соединение = внутреннее соединение + недостающие записи из 2й таблицы. Полное соединение = внутреннее соединение + недостающие записи из 1й таблицы и недостающие записи из 2й таблицы.
Левое соединение - Это левая таблица остается полностью, из правой присоединяются только данные по строкам, которые есть в левой таблице. Правое соединение - Это левая таблица остается полностью, а из правой присоединяются все строки,которые есть в правой таблице,независимо от того, есть такие же строки в левой(добавятся пустые строки в левую).
Задачи сборников 1С являются объектом авторского права, поэтому их нельзя публиковать в открытых источниках, к сожалению. И даже похожие задачи нельзя. Поэтому сомневаюсь, что я за это возьмусь. Если вас интересует этот экзамен, вы можете посмотреть видео Павла Чистова: ua-cam.com/play/PLkdnTy1CsgR1phYcN8Ts1HD2AugrAVgRd.html Он старается готовить к этому экзамену в обход этих ограничений.
Илья, такой вопрос. Есть у меня таблица контрагентов. Есть таблица заказов покупателей (там есть реквизит контрагент). Как мне написать соединение и условие к нему и к запросу чтобы вывелись все контрагенты и заказы для них в установленный период ДАТАС по ДАТАПО, в том числе контрагенты, по которым не было заказов в установленный период с ДАТАС по ДАТАПО ?
при добавлении строки Т2.Наименование пишет ошибку: {ВнешняяОбработка.Запросник.Форма.Форма.Форма(773)}: Ошибка при вызове метода контекста (Выполнить): {(9, 1)}: Неправильный псевдоним "Т2.Наименование"
Я так понял: Левое соединение - Все данные Т1 И данные Т2 которые есть в Т1 Правое соединение - данные Т1 которые есть в Т2 И Все данные Т2 Внутреннее соединение - данные которые есть И в Т1 И в Т2 Полное соединение - Все данные Т1 И все данные Т2
Позволю себе процитировать фрагмент из курса: helpme1c.ru/school-of-programmers "Внутреннее соединение - в результате него мы получаем только те записи, для которых выполняются условия соединения. Левое соединение = внутреннее соединение + недостающие записи из 1й таблицы. Правое соединение = внутреннее соединение + недостающие записи из 2й таблицы. Полное соединение = внутреннее соединение + недостающие записи из 1й таблицы и недостающие записи из 2й таблицы." То есть в общем случае полное соединение правое соединение.
На самом деле разница есть. Это было бы наглядно, если бы в регистре сведений Кадровые Перемещения был отражён приём сотрудника на работу, которого нет в справочнике(просто мы не можем принять или уволить сотрудника, которого нету в базе--справочнике, потому что в свойствах документа Приём на работу в типе значения реквизита Сотрудник мы указали ссылку на справочник). Автор не сможет это продемонстрировать. Представьте, что мы приняли на работу некоего сотрудника, пусть будет Игнатьев Максим Александрович, однако в справочнике то его нет. Поэтому при левом соединении поля у этого сотрудника ДатаРождения и Наименование были бы пустыми. А так получилось, что при левом соединении у нас поля со значением Null отсутствовали, так как мы поставили себе ограничение, что проводится могут только те документы с сотрудниками, которые есть в справочнике и следовательно, всё это оказывает влияние на регистр. Поэтому при ПОЛНОМ Соединении, у нас бы был результат не точно такой, как в ПРАВОМ. Кроме пустых колонок с сотрудниками, которые не принимались на работу, у нас была бы ещё и строчка с Игнатьевым Максимом Александровичем, у которого поля Наименование и ДатаРождения будет равна Null.
Больше всего мне нравится, что с каждым последующим видео, количество просмотров все меньше(отсюда делаем логический вывод, что остаются самые терпеливые). А вообще хочу выразить огромную благодарность вашим урокам. Они очень хорошо укладывают инфу в голову. Тяжело?да. но укладывают. Спасибо.
Мне на много проще было понять при таком разъяснении, которое я нашла в другом источнике:
Внутреннее соединение - в результате него мы получаем только те записи, для которых выполняются условия соединения.
Левое соединение = внутреннее соединение + недостающие записи из 1й таблицы.
Правое соединение = внутреннее соединение + недостающие записи из 2й таблицы.
Полное соединение = внутреннее соединение + недостающие записи из 1й таблицы и недостающие записи из 2й таблицы.
И я думаю, я даже знаю, что это за источник )
helpme1c.ru/school-of-programmers
Угадал?)
@@IlyaLeontyev я смотрю этот курс сейчас в 2021 году это актуально или произошли какие то изменения ?
@@muradalisultanov4720 Изменения вряд ли, а дополнения возможны.
@@nimb266 спасибо
хорошо объясняет. все подробно и просто без заморочек! мне помогло понять работу соединений..
Выглядит, как проплаченный отзыв ) Спасибо!
@@IlyaLeontyev Спасибо за ответ! Так я нашёл ссылку на ваш канал :-)
Соединения также хорошо можно понять с помощью кругов Эйлера. Можно загуглить: SQL круги Эйлера.
Действительно так проще понять
Левое соединение - Это левая таблица остается полностью, из правой присоединяются только данные по строкам, которые есть в левой таблице.
Правое соединение - Это левая таблица остается полностью, а из правой присоединяются все строки,которые есть в правой таблице,независимо от того, есть такие же строки в левой(добавятся пустые строки в левую).
спасибо! я хоть и отстаю от всех вас на 2-3, до скоро догоню и обгоню !!! ))))
Небольшая путаница от того, что в таблице Ексель лево и право поменяны местами )
Коменты помогают понять материал )
а вы не планируете выпускать видео с разборами решений задач сборника 1с специалист по платформе?
В ближайшее время нет, но в будущем очень может быть
Очень бы хотел послушать разбор задач по спецу)
Задачи сборников 1С являются объектом авторского права, поэтому их нельзя публиковать в открытых источниках, к сожалению. И даже похожие задачи нельзя. Поэтому сомневаюсь, что я за это возьмусь.
Если вас интересует этот экзамен, вы можете посмотреть видео Павла Чистова: ua-cam.com/play/PLkdnTy1CsgR1phYcN8Ts1HD2AugrAVgRd.html
Он старается готовить к этому экзамену в обход этих ограничений.
И все-таки я за это взялся )
Ссылка на плейлист: ua-cam.com/play/PLh28ogpgRJUPQDnx1uV9p19jLbpyBa3ua.html
лайк поставил и подписался
Так я уже подписан
Илья, такой вопрос. Есть у меня таблица контрагентов. Есть таблица заказов покупателей (там есть реквизит контрагент). Как мне написать соединение и условие к нему и к запросу чтобы вывелись все контрагенты и заказы для них в установленный период ДАТАС по ДАТАПО, в том числе контрагенты, по которым не было заказов в установленный период с ДАТАС по ДАТАПО ?
Что интересно - работают все аналоги SQL - LEFT, RIGHT, INNER, FULL ... JOIN, а также SELECT, FROM и т.д
Так это копия SQL тока на русском
@@cryptoprofit1190 Какая копия, 1с создан на базе MySql
В статье кстати быстрее и конкретнее описано. А так все понятно, очевидно похоже на слияние массивов в Пинтоне.
при добавлении строки Т2.Наименование пишет ошибку: {ВнешняяОбработка.Запросник.Форма.Форма.Форма(773)}: Ошибка при вызове метода контекста (Выполнить): {(9, 1)}: Неправильный псевдоним "Т2.Наименование"
где прикрепить скрин-шот?
где прикрепить скрин-шот?
на 3:19 вы имете ввиду что СОТРУДНИК ЭТО т1.сотрудник?
Имеется ввиду что из Т1(Таблица 1) берется колонка СОТРУДНИК, а из Т2(Таблица 2) колонка ССЫЛКА И НАИМЕНОВАНИЕ.
Дает ошибку на строке "ГДЕ Т1.Сотрудники = ЕСТЬ NULL"
Понял, оказывается знак равенста лишний
Я так понял:
Левое соединение - Все данные Т1 И данные Т2 которые есть в Т1
Правое соединение - данные Т1 которые есть в Т2 И Все данные Т2
Внутреннее соединение - данные которые есть И в Т1 И в Т2
Полное соединение - Все данные Т1 И все данные Т2
В чем тогда смысл полного соединения , если результат точно такой же как при правом?
Позволю себе процитировать фрагмент из курса: helpme1c.ru/school-of-programmers
"Внутреннее соединение - в результате него мы получаем только те записи, для которых выполняются условия соединения.
Левое соединение = внутреннее соединение + недостающие записи из 1й таблицы.
Правое соединение = внутреннее соединение + недостающие записи из 2й таблицы.
Полное соединение = внутреннее соединение + недостающие записи из 1й таблицы и недостающие записи из 2й таблицы."
То есть в общем случае полное соединение правое соединение.
На самом деле разница есть. Это было бы наглядно, если бы в регистре сведений Кадровые Перемещения был отражён приём сотрудника на работу, которого нет в справочнике(просто мы не можем принять или уволить сотрудника, которого нету в базе--справочнике, потому что в свойствах документа Приём на работу в типе значения реквизита Сотрудник мы указали ссылку на справочник). Автор не сможет это продемонстрировать.
Представьте, что мы приняли на работу некоего сотрудника, пусть будет Игнатьев Максим Александрович, однако в справочнике то его нет. Поэтому при левом соединении поля у этого сотрудника ДатаРождения и Наименование были бы пустыми. А так получилось, что при левом соединении у нас поля со значением Null отсутствовали, так как мы поставили себе ограничение, что проводится могут только те документы с сотрудниками, которые есть в справочнике и следовательно, всё это оказывает влияние на регистр.
Поэтому при ПОЛНОМ Соединении, у нас бы был результат не точно такой, как в ПРАВОМ. Кроме пустых колонок с сотрудниками, которые не принимались на работу, у нас была бы ещё и строчка с Игнатьевым Максимом Александровичем, у которого поля Наименование и ДатаРождения будет равна Null.
КТО Я? ИМЯ ФАМИЛИЮ УЧИТЕЛЯ ЗАБЫЛ...
Леонтьев Илья