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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.09.2008, 12:01   #1  
koraman is offline
koraman
Участник
 
41 / 11 (1) +
Регистрация: 12.02.2008
Адрес: Казань
Ой, база данных SQL обнаружила ошибку потому, что я забыл убрать order by в while select custTable. То есть итоговый запрос выглядит так:
X++:
    while select custTable
        outer join contactPerson where
            custTable.ContactPersonId == contactPerson.ContactPersonId
        outer join custGroup where
            (custGroup.dataAreaId == contactPerson.dataAreaId || custGroup.dataAreaId != contactPerson.dataAreaId) &&
            custTable.CustGroup == custGroup.CustGroup
        outer join contractTable where
            (contractTable.dataAreaId == custGroup.dataAreaId || contractTable.dataAreaId != custGroup.dataAreaId) &&
            contractTable.RContractPartnerCode == custTable.AccountNum &&
            contractTable.RContractPartnerType == RContractPartnerType::Cust
        outer join contractTypes where
            (contractTypes.dataAreaId == contractTable.dataAreaId || contractTypes.dataAreaId != contractTable.dataAreaId) &&
            contractTypes.ContractCode == contractTable.RContractCode
        outer join RContractAccount, RContractCode, sum(AmountMST) from custTrans group by RContractAccount, RContractCode where
            (custTrans.dataAreaId == contractTypes.dataAreaId || custTrans.dataAreaId != contractTypes.dataAreaId) &&
            custTrans.RContractAccount == contractTable.RContractAccount &&
            custTrans.RContractCode == contractTable.RContractCode
    {
        this.CustInfo = custTable.AccountNum + ", " + contactPerson.Name;
        this.CustGroupName = custGroup.Name;
        this.ContractRegNo = contractTable.RContractAccount;
        this.ContractNo = contractTable.RContractNumber;
        this.ContractGroupName = contractTypes.ContractCodeName;
        this.Amount = custTrans.AmountMST;
        this.insert();
    } // end while
Вот. Но тем не менее грид оказывается таким же пустым... и с группами всё так же...

Да, кстати. В таблице CustTrans нет записей, соответствующих записям из RContractTable, но ведь используется OUTER join.
__________________
I believe!

Последний раз редактировалось koraman; 01.09.2008 в 12:13.
Старый 01.09.2008, 12:12   #2  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
При выборе суммы по полю необходимо указывать группировку полей по всем дата сорсам которые участвуют в запросе.
Вообще запрос получился какой то громоздкий, я бы точно вынес в отдельный select нахождение суммы.

P.S. mazzy прав.
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем

Последний раз редактировалось lev; 01.09.2008 в 12:14. Причина: P.S.
Старый 01.09.2008, 12:13   #3  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от koraman Посмотреть сообщение
То есть итоговый запрос выглядит так:
Ужас.
__________________
полезное на axForum, github, vk, coub.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Двойной 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
outer join для трех таблиц r25 DAX: Программирование 4 29.04.2004 15:42
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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