Имя: Пароль:
1C
1С v8
Запрос. Соединение 4-х таблиц.
,
0 abda123
 
01.02.16
13:18
В запросе есть 4 таблицы, всех таблицах по 2 поля:
1. Номенклатура
2. Значение ресурса из регистра накопления. Для каждой таблицы свой регистр.
Как в запросе соединить 4 таблицы так чтобы в результат попали записи из всех таблиц. Что то я туплю, обычно соединял 2 таблицы полным соединением и для нулл полей использовал функцию естьнулл. А как это сделать для 4-х сразу не могу понять.
1 Рэйв
 
01.02.16
13:20
точно также
Таб1
Полное соединение Таб2
По Таб1.Номенклатура=Таб2.Номенклатура
Полное соединение Таб3
По Таб1.Номенклатура=Таб3.Номенклатура
Полное соединение Таб4
По Таб1.Номенклатура=Таб4.Номенклатура
2 Encode
 
01.02.16
13:21
(0) Объединением например
3 abda123
 
01.02.16
13:23
(1) Да, действительно. Точно также полным соединением таб1 со остальными по полю номенклатура. Просто ЕстьНулл будет проверять значение из всех 4-х таблиц для поля номенклатуры. Вопрос закрыт. Не сочтите за флуд)
4 rs_trade
 
01.02.16
13:31
(3) каждое следующее соединение работает с результатом предыдущего.
5 abda123
 
01.02.16
13:40
(4) В смысле, в соединении же указывается 2 таблицы, как оно берет предыдущий результат? Логичней по моему, что оно соединяет 2 таблицы указанные в соединении, а потом берет результаты всех 3-х соединений и объединяет, или если не так то можно поподробней плиз.
6 Мимохожий Однако
 
01.02.16
13:44
Добавь левой таблицей Номенклатуру, а остальные справа.
7 Мимохожий Однако
 
01.02.16
13:45
Как вариант сформировать 4 временные таблицы, потом их объединить с разными колонками и сгруппировать
8 abda123
 
01.02.16
13:47
(7) У меня и есть 4 временные таблицы. Т.е. объединение предпочтительней соединения, интересно мне)
9 abda123
 
01.02.16
13:55
(3) каждое следующее соединение работает с результатом предыдущего. Пояснение в студию! И что предпочтительней для 4-х таблиц, объединение или соединение?
10 hhhh
 
01.02.16
14:01
(9) ну допустим у вас в каждой таблице по 1000 строк. Тогда при соединении у вас будет 1000*1000*1000 = миллиард сравнений.

При соединении всё-таки сравнений меньше. Особенно если проиндексируете таблицы по номенклатуре.
11 hhhh
 
01.02.16
14:02
(10)+ при объединении меньше
12 Мимохожий Однако
 
01.02.16
14:05
Сделай замеры и определишься какой запрос лучше
13 abda123
 
01.02.16
15:34
(12) Сделал замеры, запрос выполняется быстрее через объединение. Сделал несколько замеров, в среднем в полтора раза быстрее.
14 СвинТуз
 
01.02.16
15:53
union all