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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.07.2005, 11:20   #1  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 868 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
К истокам
Есть еще способ, о котором часто забывают
PHP код:
static void Job143(Args _args)
{
    
Query       q = new Query();
    
QueryRun    qr;
    
int         ij;
    
str         range;
    ;

    
q.addDataSource(tableNum(InventTable));
    for( 
020i++)
    {
        
range '';
        for( 
1<= 100j++)
        {
            
range += (range ',' '') + int2str(i*100 j);
        }
        
q.dataSourceNo(1).addRange(fieldNum(InventTableRecId)).value(range);
    }

    
qr = new QueryRun(q);

    
qr.next();

    
info(qr.query().dataSourceNo(1).toString());

Т.е. на одно поле можно накладывать несколько раз range, которые в запросе будут объединяться по ИЛИ.

Как видно из примера для MS-SQL можно спокойно запихнуть 2000 ограничений, а для Oracle мне удалось и более 5000. И никаких join
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Изменить план выполнения запроса Sequel DAX: Администрирование 2 29.05.2008 15:46
palleagermark: Dynamic date ranges in queries Blog bot DAX Blogs 8 07.05.2008 17:03
Оптимизация запроса oleg_e DAX: Программирование 16 11.01.2008 10:22
Опять оптимизация запроса KpecT DAX: Программирование 3 02.11.2007 14:41
Оптимизация запроса Янка DAX: Программирование 1 27.04.2006 08:37

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

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

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