|
Связь таблицы самой собой
| ☑ |
0
vasant
27.01.17
✎
08:15
|
Имеется справочник с такими полями:
Этап, Подэтап, Компонент, Сумма_USD, Сумма_EUR
1 1 А 100 50
1 2 А 20 30
1 1 B 10 10
1 2 B 10 50
1 1 C 100 40
Уникальна комбинация трех первых полей.
Задача: Как в СКД соединить таблицу этого справочника с самим собой три раза, по равенству комбинации полей Этап и Подэтап, чтобы получить вот таку таблицу на выходе:
Этап1, Подэтап1, Компонент1, Этап2, Подэтап2, Компонент2, Этап3, Подэтап3, Компонент3
1 1 A 1 1 B 1 1 C
1 2 A 1 2 B 1 2 C
|
|
1
asady
27.01.17
✎
08:23
|
(0) группировку колонок по Компоненту попробуй
|
|
2
Мимохожий Однако
27.01.17
✎
08:57
|
(0) А куда дел суммы?
|
|
3
vasant
27.01.17
✎
09:08
|
(2) Суммы не важны пока, разобраться б такой таблицей.
|
|
4
vasant
27.01.17
✎
09:19
|
(1) В SQL (вне 1С) я б сделал так (для простоты только два соединения, и условие выдаст удвоенные количество записей, но это детали):
SQL> SELECT a.Этап1, a.Подэтап1, a.Компонент1, b.Этап2, b.Подэтап2, b.Компонент2
FROM Таблица1 a, Таблица1 b
WHERE a.Этап1 = b.Этап2 AND a.Подэтап1 = b.Подэтап2;
Как такое проделать в СКД?
|
|
5
Мимохожий Однако
27.01.17
✎
09:21
|
Добавь колонку с сочетанием значений Этап, Подэтап, Компонент и по ней собери таблицу
|
|
6
vasant
27.01.17
✎
10:00
|
(5) Подробнее можно? В настройки варинта или в запрос?
|
|
7
Фрэнки
27.01.17
✎
10:13
|
конкретного написания не дам, но скажу только так:
Когда соединяешь таблицу и другую таблицу, то источник данных любой из таблиц в соединении уже не важен. Потому что в соединение идет не какая-то таблица, а непосредственно выборка из источника по указанным полям, затем вторая выборка из любого источника по заданным полям и условие связи, если его можно каким-то образом описать. А если вырожденный случай,, то условие связи ИСТИНА даст соединение "всех на всех".
з.ы. задача сформулирована неким парадоксальным образом, но в ней никакого парадокса. Путаница есть, а парадокса нет
|
|