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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.01.2009, 17:11   #1  
Lemming is offline
Lemming
Участник
Аватар для Lemming
 
1,144 / 343 (14) ++++++
Регистрация: 20.04.2004
Адрес: Москва, Чайнатаун в Люблино
Записей в блоге: 10
Цитата:
Сообщение от ZVV Посмотреть сообщение
А вот так не работает, так декартово произведение..
Или что вы тут хотели сказать?
У меня отработало аналогично джобу из оригинального поста. В общем, в любом раскладе, судя по такой неустойчивости к версиям и СУБД, лучше не забавляться с такими связками в реальных проектах.
Старый 14.01.2009, 17:24   #2  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Цитата:
Сообщение от Lemming Посмотреть сообщение
У меня отработало аналогично джобу из оригинального поста. В общем, в любом раскладе, судя по такой неустойчивости к версиям и СУБД, лучше не забавляться с такими связками в реальных проектах.
Да, это точно!

Ещё прикол:
X++:
     i = 0;

    while select ledgerTableTmp
    join ledgerTrans
        where ledgerTrans.AccountNum == ledgerTableTmp.AccountNum
    {
        info('1:' + ledgerTrans.AccountNum);
        i++;

        if (transCnt && i == transCnt)
            break;
    }

    i = 0;

    while select ledgerTrans
    join ledgerTableTmp
        where ledgerTrans.AccountNum == ledgerTableTmp.AccountNum
    {
        info('2:' + ledgerTrans.AccountNum);
        i++;

        if (transCnt && i == transCnt)
            break;
    }

    i = 0;

    while select ledgerTableTmp
    join ledgerTrans
        where ledgerTrans.AccountNum == ledgerTableTmp.AccountNum
    {
        info('3:' + ledgerTrans.AccountNum);
        i++;

        if (transCnt && i == transCnt)
            break;
    }
1 и 3 - одинаковые.

При этом 1 посылает к СУБД запрос (гы ) следующего вида:
PHP код:
SELECT ...FROM LEDGERTRANS A WHERE ((SUBSTR(NLS_LOWER(DATAAREAID),1,3)=NLS_LOWER(:in1)/*'mil'*/) AND (SUBSTR(NLS_LOWER(ACCOUNTNUM),1,10)=SUBSTR(NLS_LOWER(ACCOUNTNUM),1,10))) 
(т.е. на самом деле не совсем декартово произведение, а вообще просто выборка из LedgerTrans, без учёта нашей временной таблицы)
2 - делает нормальное декартово произведение
3 - не выполняется вообще (ни запроса, ни инфо)! (именно после выполнения 2, т.к. 1 - выполняется)
15 мин. голову ломал... бред какой-то...
__________________
Zhirenkov Vitaly
Старый 14.01.2009, 17:34   #3  
Lemming is offline
Lemming
Участник
Аватар для Lemming
 
1,144 / 343 (14) ++++++
Регистрация: 20.04.2004
Адрес: Москва, Чайнатаун в Люблино
Записей в блоге: 10
Цитата:
Сообщение от ZVV Посмотреть сообщение
3 - не выполняется вообще (ни запроса, ни инфо)! (именно после выполнения 2, т.к. 1 - выполняется)
15 мин. голову ломал... бред какой-то...
Опа, точно! Я тоже наткнулся на подобное - вроде только что работало, а тут бамс и перестало. Переключил еще раз компанию, в которой у меня правильные для теста счета были(хотя в ней и был), отработало. Судя по всему, жутко неустойчивая фича.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
OZKA's DAX Journal: Многоколоночные отчеты средствами Dynamics AX. Blog bot DAX Blogs 0 27.08.2008 13:05
Table Scan через QueryRun maximka DAX: Программирование 8 05.10.2007 10:46
Заполнение DataSource из постоянной и временной таблиц m_ax DAX: Программирование 2 21.06.2007 13:08
Динамическая связь Query с временной таблицей rumpleteazer DAX: Программирование 1 30.01.2003 01:49

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

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

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