|
Вопрос по соединению таблиц в запросе | ☑ | ||
---|---|---|---|---|
0
mzelensky
10.12.14
✎
08:27
|
Доброго всем. Скорее всего тема уже обсуждалась, так что если у кого получится найти ссылки - буду благодарен.
Суть в следующем - имеем примерно вот такие таблички в запросе. В первой выбирается иерархический справочник (с нужными отборами разумеется) из которого нас интересует поле "ПолеСоединения". Во втрой таблице выбирается другой справочник в реквизит "Спр2.Поле" это ссылка на "Справочник1": Таблица1: Спр1.Ссылка Спр1.Родитель как ПолеСоединения Из Справочник1 как Спр1 Таблица2: Спр2.Ссылка Спр2.Поле как ПолеСоединения Из Справочник2 как Спр2 Мне нужно реализовать вот такое соединение: Справочник1 как Спр1 Внутреннее соединение Справочник2 По Спр2.Поле В Иерархии(Спр1.Ссылка) Разумеется такую связь я не могу построить. Вопрос - как быть? В результате мне нужна таблица вида: Спр1.Родитель как ПолеСоединения Спр2.Ссылка Спр2.Поле как ПолеСоединения |
|||
1
mzelensky
10.12.14
✎
08:28
|
(0) + Отчет делаю на СКД. Может там как-то намутить можно через несколько наборов?
|
|||
2
olegves
10.12.14
✎
09:12
|
(0) яснее изложи, ничего не понял
|
|||
3
mzelensky
10.12.14
✎
09:15
|
(2) Как вот такое реализовать:
Справочник1 как Спр1 Внутреннее соединение Справочник2 По Спр2.Поле В Иерархии(Спр1.Ссылка) |
|||
4
olegves
10.12.14
✎
09:18
|
(3) Спр2.Поле = isnull(СпрР6.Ссылка, isnull(СпрР5.Ссылка...Спр1.Ссылка)))))
СпрРn - цепочка родительских групп Спр1 |
|||
5
mzelensky
10.12.14
✎
09:26
|
(4) Не канает
|
|||
6
olegves
10.12.14
✎
09:29
|
(5) что, не канает? кривизна рук мешает?
|
|||
7
hhhh
10.12.14
✎
09:33
|
По Спр2.Поле = Спр1.Ссылка
или Спр2.родитель = Спр1.Ссылка или Спр2.родитель.родитель = Спр1.Ссылкаили Спр2.родитель = Спр1.Ссылка или Спр2.родитель.родитель.родитель = Спр1.Ссылка или Спр2.родитель.родитель.родитель.родитель = Спр1.Ссылка или Спр2.родитель.родитель.родитель.родитель.родитель = Спр1.Ссылка или Спр2.родитель.родитель.родитель.родитель.родитель.родитель = Спр1.Ссылка или Спр2.родитель.родитель.родитель.родитель.родитель.родитель.родитель = Спр1.Ссылка или Спр2.родитель.родитель.родитель.родитель.родитель.родитель.родитель.родитель = Спр1.Ссылка или Спр2.родитель.родитель.родитель.родитель.родитель.родитель.родитель.родитель.родитель = Спр1.Ссылка или Спр2.родитель = Спр1.Ссылкаили Спр2.родитель = Спр1.Ссылка |
|||
8
mzelensky
10.12.14
✎
09:34
|
(6) Кривизна твоего решения.
(7) Во-во. Об этом я и говорю. |
|||
9
mzelensky
10.12.14
✎
09:34
|
Нормальное решение есть?
|
|||
10
pessok
10.12.14
✎
09:37
|
если надо внутреннее соединение, то сделай во втором запросе в блоке где
ГДЕ Спр1.Номенклатура.Родитель В (ВЫБРАТЬ Спр2.Номенклатура ИЗ Спр2) |
|||
11
olegves
10.12.14
✎
09:37
|
(8) открой для себя левое соединение таблицы на себя по Ссылка = Родитель, тогда не придется делать муйню, как (7)
|
|||
12
mzelensky
10.12.14
✎
09:45
|
(10) Вопрос не в условии ГДЕ. Вопрос в стыковке таблиц
|
|||
13
mzelensky
10.12.14
✎
09:46
|
(11) Причем здесь " левое соединение таблицы на себя по Ссылка = Родитель" ???
Либо я тебя не понимаю, либо ты меня. Давай подробней |
|||
14
olegves
10.12.14
✎
09:51
|
(13) ЛЕвое соединение Справочник1 КАК СпрР1
По СпрР1.Родитель = Спр1.Ссылка ЛЕвое соединение Справочник1 КАК СпрР2 По СпрР2.Родитель = СпрР1.Ссылка и т.п. |
|||
15
mzelensky
10.12.14
✎
09:56
|
(14) О да, это на много лучше (7)
Абсолютно аналогичная муйня |
|||
16
olegves
10.12.14
✎
09:58
|
(15) тогда сиди у разбитого корыта и продолжаю хрюкать
|
|||
17
mzelensky
10.12.14
✎
10:42
|
(16) Ты бы лучше чего хорошего посоветовал
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |