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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 12.10.2009, 21:21   #1  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Цитата:
Сообщение от Varmen Посмотреть сообщение
а это не потому что,
select TmpTable = select * from TmpTable, т.е со всей тучей полей типа RecId itd?

Группировка соответсвенно тут не помогает.


Т.е нужно явно написать

X++:
select Field1 from tmpTable
group by Field1
Нужели вы каждый раз так пишете при группировке?
Аксапта сама этот момент "распознаёт", так что явно писать вовсе не обязательно.
__________________
Zhirenkov Vitaly
Старый 12.10.2009, 21:57   #2  
Varmen is offline
Varmen
Участник
 
190 / 13 (1) ++
Регистрация: 02.10.2007
ага, особенно когда join , не раз палился. при поиске ошибки, лучше явно поставить, дабы исключить разную трактовку ситуации.
__________________
The Variable men power.

Последний раз редактировалось Varmen; 12.10.2009 в 22:02.
Старый 12.10.2009, 22:06   #3  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,449 / 1792 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от Varmen Посмотреть сообщение
ага, особенно когда join , не раз палился. при поиске ошибки, лучше явно поставить, дабы исключить разную трактовку ситуации.
А пример можете привести, когда явное указания выбираемых полей, участвующих в группировке, хоть как-то влияет на результат?

Цитата:
Сообщение от ZVV Посмотреть сообщение
Аксапта сама этот момент "распознаёт", так что явно писать вовсе не обязательно.
+1
Старый 12.10.2009, 22:28   #4  
Varmen is offline
Varmen
Участник
 
190 / 13 (1) ++
Регистрация: 02.10.2007
не, не смогу такое привести.
Но ведь Вы мною предложенный вариант попробовали правда? Знаете почему, потому что jobik не работает так как изначально задумали, а причина неизвестна.
__________________
The Variable men power.
Старый 12.10.2009, 22:55   #5  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,449 / 1792 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
не работает "как задумали" - мягко сказано

Если фильтровать текстовое поле, участвующее в группировке, то group by попросту игнорируется! (причём, например, для целочисленного поля тот же код отрабатывает корректно )

Что я делаю не так?
Кто-нибудь может прокомментрировать такое поведение group by? Это следствие каких-то известных (документированных) ограничений?
И какие ещё сюрпризы от использования временных таблиц можно ожидать?
Старый 12.10.2009, 23:21   #6  
Varmen is offline
Varmen
Участник
 
190 / 13 (1) ++
Регистрация: 02.10.2007
могу подвердить, зашел на нашу систему, также исполняется два раза.
Ах4.0сп2
__________________
The Variable men power.
Старый 12.10.2009, 23:24   #7  
Varmen is offline
Varmen
Участник
 
190 / 13 (1) ++
Регистрация: 02.10.2007
баг можно побороть, если вставить не явно поле, как я предпологал выше, а функцию агрегации над ним. Тогда аксапта "распознает" что таки надо группировать!

X++:
  while select maxof(Field1) from  t
  group by Field1
   where t.Field1 == '1'
   {
    info(strfmt("fisrt query %1",t.Field1));
   }
__________________
The Variable men power.

Последний раз редактировалось Varmen; 12.10.2009 в 23:34.
За это сообщение автора поблагодарили: S.Kuskov (1).
Старый 12.10.2009, 23:29   #8  
Varmen is offline
Varmen
Участник
 
190 / 13 (1) ++
Регистрация: 02.10.2007
X++:
static void Job10(Args _args)
{
 TempDummyTable t;
 ;
ttsbegin;
   t.Field1="1";
   t.insert();
ttscommit;
ttsbegin;
   t.Field1="1";
   t.insert();
ttscommit;
 
   
   while select maxof(Field1) from  t
  group by Field1
   where t.Field1 == '1'
   {
    info(strfmt("fisrt query %1",t.Field1));
   }
 
    while select t
  group by Field1
  where t.Field1 == '1'
   {
    info(strfmt("second query %1",t.Field1));
   }
}
Сообщение (21:28:38)
fisrt query 1
second query 1
second query 1
__________________
The Variable men power.
Теги
bug, баг, временная таблица, запрос (query), ошибка

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Временная таблица Antoncheg DAX: Программирование 21 15.08.2008 18:25
производительность: map или временная таблица kitty DAX: Программирование 5 15.11.2007 12:36
Временная таблица + RLS leshy DAX: Программирование 6 27.04.2006 12:39
select sum(amount) from временная таблица ATimTim DAX: Программирование 6 11.06.2004 14:16
next и временная таблица Dron AKA andy DAX: Программирование 3 24.04.2003 16:42
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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