Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 14:19

1С 8.3. Как работает данный код с левым соединением?

Автор gulnyr, 24 мар 2023, 09:31

0 Пользователей и 1 гость просматривают эту тему.

gulnyr

Написал такой код (здесь нет никакой базы данных, только числа):

ВЫБРАТЬ
ВложенныйЗапрос.Текст7 КАК Текст71,
ВложенныйЗапрос.Текст8 КАК Текст81,
ВложенныйЗапрос.Текст9 КАК Текст91,
ВложенныйЗапрос.Текст10 КАК Текст101
ИЗ
(ВЫБРАТЬ
7 КАК Текст7,
8 КАК Текст8,
9 КАК Текст9,
10 КАК Текст10) КАК ВложенныйЗапрос
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ 7 КАК Текст11) КАК ВложенныйЗапрос2
ПО  ВложенныйЗапрос.Текст7=ВложенныйЗапрос2.Текст11 //7 = 7
   

Результат:
Новый точечный рисунок.png

Что до левого соединения, что после левого соединения - результат одинаковый (сложно понять, где что меняется). Что здесь не так? Можете ли показать пример в данном коде, когда мы с помощью левого соединения что-то меняем?
      

Afinogen

а что вам нужно получить  по итогу?

левое соединение  дополняет данные первой (основной) таблицы данными из второй таблицы по ключевым полям

в вашем запросе нечего дополнять

вы выбираете первую семерку и по ней получаете данные из  второй таблицы
тоже самое что и

ВЫБРАТЬ
        7 КАК Текст7,
        8 КАК Текст8,
        9 КАК Текст9,
        10 КАК Текст10

чтобы что то изменилось у вас во второй таблице напрмиер должны были быть такие данные

поле текст 11 = 7 Поле текст 12 = "блаблабла"

тогда бы по левому соединению вы могли бы расширить ваш результат данными из поля Текст 12

если бы у вас вторая таблица имела вид

строка 1 поле 11= 7 поле 12 = "блаблабла"
строка 2 поле 11=7  поле 12 = "фуфуфу"

тогда быц сделав левое соединение по 7-ке в результирующем наборе получили бы уже 2 строки


gulnyr

Afinogen, спасибо, попробую разбираться.

А в этом коде сработает левое соединение (что-то ничего не меняется)?

ВЫБРАТЬ
ВложенныйЗапрос.Текст7 КАК Текст71
ИЗ
(ВЫБРАТЬ
7 КАК Текст7
) КАК ВложенныйЗапрос

ЛЕВОЕ СОЕДИНЕНИЕ (
ВЫБРАТЬ
8 КАК Текст7
) КАК ВложенныйЗапрос2
ПО  ВложенныйЗапрос.Текст7=ВложенныйЗапрос2.Текст7
      

antoneus

Ну чтобы что-то поменялось - надо что-нибудь из вложенногозапроса2 выбрать, в конце концов!

ВЫБРАТЬ
    ВложенныйЗапрос.Текст7 КАК Текст71,
    ВложенныйЗапрос2.Текст8 КАК Текст82
ИЗ
    (ВЫБРАТЬ
        7 КАК Текст7
        ) КАК ВложенныйЗапрос
       
ЛЕВОЕ СОЕДИНЕНИЕ (
ВЫБРАТЬ
7 КАК Текст7,
8 КАК Текст8
) КАК ВложенныйЗапрос2
ПО  ВложенныйЗапрос.Текст7=ВложенныйЗапрос2.Текст7

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск