![]() |
![]() |
![]() |
|
Табличные части в запросе | ☑ | ||
---|---|---|---|---|
0
foxey
10.10.08
✎
14:31
|
Как в запросе обратиться к реквизитам документа из разных табличных частей. Например, есть Документ, у него две табличные ТЧ1 и ТЧ2. Надо чтобы запрос выдал выборку по документам типа Документ с реквизитами Реквизит1 из ТЧ1 и Реквизит2 из ТЧ2.
|
|||
1
Defender aka LINN
10.10.08
✎
14:33
|
Делай запрос к таб. частям, неужели так сложно конструктор открыть?
|
|||
2
foxey
10.10.08
✎
14:35
|
В одном запросе нельзя одновременно к двум таблицам одного документа обращаться. Надо или через вложенный запрос или объединением. Опыта в этом пока нет. Вот и спрашиваю.
|
|||
3
Defender aka LINN
10.10.08
✎
14:37
|
(2) "нельзя одновременно к двум таблицам одного документа обращаться" - святой отец не велит? Или Будда запрещает? Завязывай с религией, она до добра не доведет.
Открой конструктор, в конце концов, книжки по SQL почитай... |
|||
4
Cheater
10.10.08
✎
14:47
|
(2) Соединение используй
|
|||
5
foxey
10.10.08
✎
14:52
|
Юзнул построитель, получил результат:
ВЫБРАТЬ Док.Ссылка КАК Ссылка, Док.ТЧ1.(Реквизит1) КАК Рекв1, Док.ТЧ2.(Реквизит2) {ВЫБРАТЬ Реквизит1,Реквизит2,Ссылка} ИЗ Документ.Документ КАК Док УПОРЯДОЧИТЬ ПО Ссылка Так вот в выборке поля Реквизит1 и 2 в виде таблицы. А надо чтобы были обычные поля. Для каждой строки в табличных частях надо получить свою строку в выборке запроса. |
|||
6
zbv
10.10.08
✎
14:53
|
(5) обращайся к табличным частям
ИЗ Документ.Документ.ТЧ1 и.т.д |
|||
7
Пуд
10.10.08
✎
14:58
|
+6 и к реквизитам шапки обращайся через Документ.ТЧ1.Ссылка.РЕквизит
|
|||
8
foxey
10.10.08
✎
14:58
|
(6) Делаем так:
ВЫБРАТЬ Док.Ссылка КАК Ссылка, Док.ТЧ1.Реквизит1 КАК Рекв1, Док.ТЧ2.Реквизит2 КАК Рекв2 ИЗ Документ.Документ КАК Док УПОРЯДОЧИТЬ ПО Ссылка Все равно реквизиты таблицей передаются. |
|||
9
Krom
10.10.08
✎
15:00
|
(8), так выбирай
ВЫБРАТЬ ТЧ1.Реквизит1 КАК Рекв1 ИЗ Документ.ТЧ1 КАК ТЧ1 |
|||
10
zbv
10.10.08
✎
15:00
|
(8) найди отличия
ИЗ Документ.Документ ИЗ Документ.Документ.ТЧ1 |
|||
11
Пуд
10.10.08
✎
15:01
|
(8) Ааа.У тебя две ТЧ.Делай соединением
|
|||
12
butterbean
10.10.08
✎
15:01
|
(8) делай объединением
|
|||
13
foxey
10.10.08
✎
15:01
|
Да вот вижу, что без соединения не обойтись. Подскажите как мне его описать.
|
|||
14
Пуд
10.10.08
✎
15:10
|
ВЫБРАТЬ
ТЧ1.Ссылка КАК Ссылка, ТЧ1.Реквизит1 КАК Рекв1, ТЧ2.Реквизит2 КАК Рекв2 ИЗ Документ.Документ.ТЧ1 КАК ТЧ1 ВНУТРЕННЕ СОЕДИНЕНИЕ Документ.Документ.ТЧ2 КАК ТЧ2 ПО ТЧ1.Ссылка=ТЧ2.Ссылка |
|||
15
foxey
10.10.08
✎
15:17
|
ВЫБРАТЬ
Заказы.Ссылка КАК Ссылка, Заказы.Приоритет КАК Приоритет, Маршрут.ТочкаМаршрута КАК ТочкаМаршрута ИЗ Документ.ЗаказНаТС.Заказы КАК Заказы ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЗаказНаТС.Маршрут КАК Маршрут ПО Заказы.Ссылка = Маршрут.Ссылка Выборка запроса пустая... Что-то не то... |
|||
16
Пуд
10.10.08
✎
15:32
|
(15) Слушай,до меня только сейчас дошло...У тебя в этих ТЧ общее поле есть,тип ИД?Если нет - нужно делать ОБЪЕДИНЕНИЕМ
|
|||
17
foxey
10.10.08
✎
15:36
|
Общих полей нет. Табличные никак не связаны. Только шапка общая :)
А как делается объединением? |
|||
18
Пуд
10.10.08
✎
15:37
|
(17)Щас
|
|||
19
Пуд
10.10.08
✎
15:40
|
ВЫБРАТЬ
ПоступлениеТоваровУслугТовары.Номенклатура КАК НомТовары, NULL КАК Заказ, ПоступлениеТоваровУслугТовары.Ссылка ИЗ Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары СГРУППИРОВАТЬ ПО ПоступлениеТоваровУслугТовары.Ссылка, ПоступлениеТоваровУслугТовары.Номенклатура ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ NULL, ПоступлениеТоваровУслугУслуги.Заказ, ПоступлениеТоваровУслугУслуги.Ссылка ИЗ Документ.ПоступлениеТоваровУслуг.Услуги КАК ПоступлениеТоваровУслугУслуги СГРУППИРОВАТЬ ПО ПоступлениеТоваровУслугУслуги.Ссылка, ПоступлениеТоваровУслугУслуги.Заказ Как-то так |
|||
20
Cheater
10.10.08
✎
15:44
|
(16) можно по НомеруСтроки соединить, извращение конечно )))
|
|||
21
Cheater
10.10.08
✎
15:45
|
+(20) И полное соединение
|
|||
22
foxey
10.10.08
✎
15:49
|
(19) Вышло следующее:
ВЫБРАТЬ Заказы.Приоритет КАК Приоритет, NULL КАК ТочкаМаршрута, Заказы.Ссылка ИЗ Документ.уатЗаказНаТС.Заказы КАК Заказы СГРУППИРОВАТЬ ПО Заказы.Ссылка, Заказы.Приоритет ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ NULL, Маршруты.ТочкаМаршрута, Маршруты.Ссылка ИЗ Документ.уатЗаказНаТС.Маршрут КАК Маршруты СГРУППИРОВАТЬ ПО Маршруты.Ссылка, Маршруты.ТочкаМаршрута Вроде работает. Спасибо большое. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |