AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 10.04.2003, 17:20   #1  
r25 is offline
r25
Участник
 
22 / 10 (1) +
Регистрация: 10.04.2003
Адрес: Москва
? outer join для трех таблиц
не идет следующий запрос:

while select itemId, qty from inventTrans
join inventLocationId from inventDim where inventTrans.inventDimId == inventDim.InventDimId
outer join voucher from inventTransPosting where inventTransPosting.voucher == inventTrans.voucher

выдается сообщение "Невозможно выбрать запись в таблице 'Разноска складских проводок' ('InventTransPosting')
Использован оператор объединения таблиц join, но выражение where не содержит связи между таблицами"
хотя если убрать outer то все нормально. В чем тут дело? Пробовал по всякому ни хрена не работает как только с фразой Outer join связываются более трех таблиц. Может не правильно использую ?
Старый 10.04.2003, 17:49   #2  
Garic is offline
Garic
NavAx
Аватар для Garic
NavAx Club
 
393 / 63 (3) ++++
Регистрация: 23.07.2002
Адрес: Москва
Неправильно используешь. В аксапте join нескольких таблиц идёт последовательно. Т.е. 1 с 2-ой, 2-я с 3-ей.

Ну и ещё.
"where inventTransPosting.voucher == inventTrans.voucher"
Тебе не кажется, что inventTrans.voucher будет всегда пустой?
"while select itemId, qty from inventTrans"
__________________
С уважением, Игорь Ласийчук.
Старый 10.04.2003, 17:58   #3  
r25 is offline
r25
Участник
 
22 / 10 (1) +
Регистрация: 10.04.2003
Адрес: Москва
спасибо, и еще
Спасибо, на счет inventTransPosting. Voucher - я знаю - связь не полная (этоя я для примера чтобы не усложнять) но она не пустая. Тогда у меня еще не большой вопросец, как быть если требуется составить отчет с довольно сложной и большой обработкой (я начинающий программист в Ахсапте), очень не хочется перебирать записи в методе Fetch(), может как-то можно использовать SQL напрямую послав конанды на сервер и вернув выборку, или еще что.... Вообще как поступают в таких случаях? Какова практика построения отчетов которые должны перелопатить большие объемы информации и которые не получается построить используя Query или встроенный SQL? Заранее огромное спасибо!
Старый 10.04.2003, 18:11   #4  
Garic is offline
Garic
NavAx
Аватар для Garic
NavAx Club
 
393 / 63 (3) ++++
Регистрация: 23.07.2002
Адрес: Москва
.
Цитата:
может как-то можно использовать SQL напрямую послав конанды на сервер и вернув выборку, или еще что....
Это сделать конечно можно, но зачем?

В сложных отчётах обычно используются временные таблицы.
Вначале вызывается класс, который забивает туда данные, ну а потом это дело передаётся в отчёт. Напрямую в отчёте расчёты делать не рекомендуется - в случае трёхзвенной структуры они будут исполнятся на клиенте а не на сервере...
В качестве примера можно посмотреть класс PurchInvoiceLauncher_RU
__________________
С уважением, Игорь Ласийчук.
Старый 29.04.2004, 15:42   #5  
mpogorelov is offline
mpogorelov
Участник
 
20 / 10 (1) +
Регистрация: 29.04.2004
Цитата:
Изначально опубликовано Garic
Неправильно используешь. В аксапте join нескольких таблиц идёт последовательно. Т.е. 1 с 2-ой, 2-я с 3-ей.
а как же быть если нужно сделать OuterJoin 2-ой с 1-ой и 3-ей с 1-ой?
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Двойной Outer Join в Query LTA DAX: Программирование 2 21.01.2020 09:28
Несколько outer join в запросе _scorp_ DAX: Программирование 2 11.04.2008 10:56
Данные в Grid из таблиц, связанных по Outer Join cherv DAX: Программирование 2 17.02.2007 01:36
2 и более OUTER JOIN к одному паренту Ronin DAX: Программирование 21 19.12.2005 13:42
Join трех таблиц (две к одной) ATimTim DAX: Программирование 25 03.02.2005 11:31
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 23:42.