Соединение двух таблица запросом.

1. Aleksey_Abramov 16.12.22 13:11 Сейчас в теме
Имеются похожие таблицы, получаемые из двух разных функций. Можно ли соединить эти таблицы по одному из полей? Как это проще сделать?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. aka Любитель XML 16.12.22 13:13 Сейчас в теме
Обычным соединением, левым например или внутренним. Покажи что не получается
3. Aleksey_Abramov 16.12.22 13:17 Сейчас в теме
(2)
Таблица1 = Модуль1.ПолучитьТаблицу1(); // тут 40 колонок, 100 строк
Таблица2 = Модуль2.ПолучитьТаблицу2(); // тут 25 колонок, 80 строк
ТаблицаСоединеннаяПоОдномуПолю = ???;
4. beldieff 16.12.22 13:22 Сейчас в теме
Выбрать
Таблица1.Колонка1
Поместить ВТ1
из &Таблица1  как Таблица1 ;


Только колонки в таблицах должны быть типизированы
5. aka Любитель XML 16.12.22 13:24 Сейчас в теме
Выбрать
Таблица1.Колонка1,
Таблица1.Колонка3
Поместить ВТ1
из &Таблица1  как Таблица1
;
Выбрать
Таблица2 .Колонка1
Поместить ВТ2
из &Таблица2  как Таблица1
;
Выбрать
Таблица1 .Колонка3
ИЗ ВТ1 КАК Таблица1
ЛевоеСоединение ВТ2 КАК Таблица2
ПО Таблица1.Колонка1 = Таблица2.Колонка1
Показать
7. Aleksey_Abramov 16.12.22 13:41 Сейчас в теме
(5) Представьте моих 40 колонок... И мне придётся их все описывать) Вот в вопросе я как раз и спросил, есть ли способ проще? =)
6. soft_wind 16.12.22 13:33 Сейчас в теме
(5) почему это "Левое" соединение?
нужно "Полное"

зачем вы автора топика вводите в заблуждение/обманываете?
8. Aleksey_Abramov 16.12.22 13:42 Сейчас в теме
(6) Спасибо) а это я и так пойму, что полное мне нужно... Тут главная сложность в том, что руками надо забить 40 полей..
9. beldieff 16.12.22 13:43 Сейчас в теме
(8)
Тут главная сложность в том, что руками надо забить 40 полей..
пройди циклом по колонкам и сформируй текст запроса программно.
14. aka Любитель XML 16.12.22 14:31 Сейчас в теме
(6) я никого не обманываю, просто на коленке пример собрал для автора
10. beldieff 16.12.22 13:45 Сейчас в теме
Для каждого Колонка Из Таблица1 Цикл
    ТекстЗапроса = ТекстЗапроса + Колонка.Имя + ", " 
КонецЦикла
11. soft_wind 16.12.22 13:45 Сейчас в теме
(8)
40 полей..


еще чуть-чуть и вы как остальные профессионалы наловчитесь с цикле генерить текст запроса по Колонкам таблиц!
(вот и примеры уже посыпались )
12. Aleksey_Abramov 16.12.22 13:50 Сейчас в теме
(11) Ещё натолкнули на идею того, что у меня же могут быть поля совпадающие, так и разные.. Придумаю алгоритм, чтобы выбрать все поля, но при этом без дубликатов)
13. soft_wind 16.12.22 14:11 Сейчас в теме
(12)
во первых, а зачем вам в результирующей таблици одинаковые поля (и похоже с одинаковыми данными)?
и это решается просто, к именам полей прибавляйте префикс таблицы

например

"Таб1ПолеАА, Таб1ПолеББ, Таб2ПолеАА, Таб2ПолеСС"

ПолеАА повторяется в двух таблицах но с приставками получается разным
15. soft_wind 16.12.22 14:39 Сейчас в теме
(14) Ответственнее надо подходить к ответам! Ответственнее!!!
на вас же Автор надеется! (а вы ему абы как! на коленке!)
aka Любитель XML; +1 Ответить
16. HanterVol 9 19.12.22 12:19 Сейчас в теме
Ну перечислять для временных таблиц имена колонок не обязательно
можно
Выбрать * Поместить ВТ1
из &Таблица1  как Таблица1
;
Выбрать *
Поместить ВТ2
из &Таблица2  как Таблица1
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот