Как соединить 3 таблицы в запросе 1с? #793694


#0 by maksyandra
Как соединить 3 таблицы в запросе 1с??? Таблица 1: Контрагент  | Возраст ------------+------- Иван        | 12 Тарас       | 34 Юра         | 23 Таблица 2: Контрагент  | НомерПаспорта ------------+------- Иван        | 123 Тарас       | 345 Юра         | 023   Таблица 3: Контрагент  | Адрес ------------+------- Иван        | Ватутина Тарас       | Пушкина Юра         | Гагарина На выходе нужно получить таблицу 4. Таблица 4: Контрагент  | Адрес     Возраст    НомерПаспорта ------------+------- Иван        | Ватутина     12          123 Тарас       | Пушкина      34          345 Юра         | Гагарина     23          023
#1 by XLife
по контрагенту
#2 by maksyandra
Это понятно. Что в запросе делать??
#3 by youalex
Соединение
#4 by EvgeniuXP
в твоем случае - внутреннее, чтоб не разбираться с левым и правым :)
#5 by CepeLLlka
Погляди по ссылке, всё доходчиво объясняется.
#6 by maksyandra
Выдает что-то типа этого Иван        | Ватутина     0          0 Иван        |    0         12         0 Иван        |    0         0          123 Тарас       | Пушкина      0          0 Тарас       |    0         34         0 Тарас       |    0         0          345 Юра         | Гагарина     0          0 Юра         |    0         23         0 Юра         |    0         0          023
#7 by EvgeniuXP
Возьми книжку волшебника - почитай там про соединения.
#8 by EvgeniuXP
две галки поставь
#9 by youalex
запрос покажи
#10 by EvgeniuXP
наоборот сними :)
#11 by maksyandra
ВЫБРАТЬ     ДанныеЧленовКооператива.Контрагент КАК Контрагент,     РегистрСведений.ДанныеЧленовКооператива КАК ДанныеЧленовКооператива ИЗ     РегистрСведений.ДанныеЧленовКооператива КАК ДанныеЧленовКооператива ИЗ     РегистрСведений.ДанныеЧленовКооператива КАК ДанныеЧленовКооператива
#12 by maksyandra
Какие галки?
#13 by youalex
Контрагент у тебя кто? Справочник.Контрагенты? Вот к нему цепляй через  ЛС Типа
#14 by d546
не показывай больше запросы :) не твое
#15 by maksyandra
А что не так?
#16 by d546
используй подсказки из постов 3 и 4 и ищи различие между словами "соединить" и "объединить"
#17 by maksyandra
И мне каждую таблицу нужно соединить с каждой???
#18 by NorthWind
нет, каждую с каждой не надо. При написании запроса достаточно чтобы каждая таблица поучаствовала в соединении, а дальше уже движок для работы с запросами сам все поймёт.
#19 by 1dvd
Разжёвано про соединения:
#20 by maksyandra
Вот запрос. В таком виде выводит пустые строки.     РегистрСведений.ДанныеЧленовКооператива КАК ДанныеЧленовКооператива     РегистрСведений.ДанныеЧленовКооператива КАК ДанныеЧленовКооператива     РегистрСведений.ДанныеЧленовКооператива КАК ДанныеЧленовКооператива
#21 by maksyandra
Вот последний вариант, но все равно все строки не соединяет, что не так???
#22 by catena
Составь полную выборку контрагентов и к ней присоединяй паспорта и дни рождения.
#23 by maksyandra
Мне не нужна полная выборка контрагентов. Только те который есть в регистре
#24 by dezss
чета вроде этого Выбрать таблица1.Контрагент,     таблица1.Возраст,     таблица2.НомерПаспорта,     таблица3.адрес Из таблица1 как таблица1   левое соединение таблица2 как таблица2   по таблица1.контрагент = таблица2.контрагент   левое соединение таблица3 как таблица3   по таблица1.контрагент = таблица3.контрагент
#25 by maksyandra
А если в таблицах 2 и 3 есть записи с контрагентами которых нет в таблице 1 их не выведет при таком соединении.
#26 by VladZ
Также, как соединить две.
#27 by dezss
Ну тогда брать справочник контрагентов и к нему все цеплять Как поставлена задача, так и решение написано. А если есть несколько адресов у одного контрагента и т.п.?
#28 by catena
Составь полную выборку контрагентов ИЗ ПЕРВЫХ ТРЕХ ЗАПРОСОВ и к ней присоединяй паспорта и дни рождения.
#29 by HardBall
Самое интересное, что 4 таблица исходя из задачи и так находится как минимум в 3НФ, зачем такая декомпозиция.
#30 by Maniac
О тема интересная. А как есть есть две таблицы значений (не регистры каки то) И в одной не дополнено несколько колонок которые есть в другой. Таблицы разного размера. В одной таблице есть много строк, в которой нужно допролнить значение из другой таблицы. Обе таблицы связывает одна колонка со значением которое есть и в одной и в другой. Ключ. В общем надо чтобы в одной ТЗ заполнить данные из другой ТЗ по связи ключа. Без циклов. Сейчас идет перебор с методом Найти (используется ключ) Но надо сделать чтобы это было в РАЗЫ быстрее.
#31 by Maniac
Запрос не поможет - так как - эти таблицы являются обьектами. Запросы потребуют выгрузки этих таблиц. А также даже если мы каким то образом получим запрос - еще надо будет и загружать. Таблицы огромные. И времени на выгрузки и загрузки обратно в 1С тоже как бы не пять секунд делается. Очень печально вто в 1С нет таких встроенных методов по какому то ключу-колонке заполнить значения из другой таблицы.
#32 by DrShad
[Запрос не поможет - так как - эти таблицы являются обьектами] источником данных для запроса может быть и объект
#33 by DrShad
а если их загнать как внешние источники данных то вообще все элементарно
#34 by Maniac
слабо себе представляю что в внешние истоники можно загнать таблицы значений вшитые в обработку
#35 by Maniac
В общем то я попробовал вчера даже просто через выгрузку таблиц и передачу в запрос. Но запрос ругается на вторую таблицу хоть тресни. и не понятно как сделать соединение.
#36 by DrShad
слабо себе представляю как можно вшить в обработку ТЗ
#37 by DrShad
для того чтобы запрос съел таблицу значений в ней должны быть типизированы колонки
#38 by Maniac
табличная часть обработки. Обе.
#39 by Maniac
Тапизированы естественно.
#40 by Maniac
о епс заработало!
#41 by 1dvd
>>Но запрос ругается на вторую таблицу хоть тресни. и не понятно как сделать соединение. Как ругается-то? Маня, ты чо как маленький?
#42 by DrShad
с пятницей
#43 by Maniac
#44 by Волшебник
Ждём новую версию Мегапрайса
#45 by DrShad
а когда он еще для себя откроет менеджер временных таблиц, не говоря про СКД, то ......
#46 by Maniac
рассказывай секрет)
#47 by DrShad
я понаблюдаю лучше )))
#48 by Oftan_Idy
деньги давай, да
#49 by Maniac
нивапрос. Подключайся разжую проблему. Заплачу за каждый час 2500
#50 by 1dvd
Скопирую сюда описание менеджера временных таблиц из СП за 500 руб
#51 by Oftan_Idy
Проблема то в чем? Тебе уже выше написали все. Помещаешь в запрос параметр - табличную часть. Выбираешь во временную таблицу с обязательно типизацией. Соединяешь левым соединением, берешь колонку из второй таблицы. ерунда И быстро все будет
#52 by Maniac
(51 - уже заработало.
#53 by DrShad
куда подключаться?
#54 by Oftan_Idy
эээ, а деньги ?
#55 by DrShad
он о других проблемах
#56 by Maniac
выходи на связь. тебя давно знаю. ты ж даже вроде из Ростова. Поболтаем. Давно ищу себе помощника. Готов при нормальном раскладе мотивировать
#57 by DrShad
я не из Ростова )))
#58 by Maniac
Значения не имеет) помню общались. В общем по теме в реальный пример Думаю задача закрыта у автора
#59 by maksyandra
Всем спасибо. Проблему решил. Последовав совету
#60 by maksyandra
Да, задача закрыта.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С