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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 08.07.2008, 15:36   #1  
Zlojbarsuk is offline
Zlojbarsuk
Участник
 
26 / 12 (1) ++
Регистрация: 08.08.2007
Сортировка в Query!!!
Добрый день!
Скажите, может кто знает, как сделать сортировку в Query.
Дело в том, что мне нужно чтобы последним полем сортировки было поле из первой из 3-х при-JOIN-еных таблиц. На SQL это делается просто, а вот как сделать через Query я не знаю...

На SQL этот запрос выглядит так:

PHP код:
SELECT InventTable.TMidInventItemRange.RangeIdParentInventItemRange.NameInventItemRange.RangeIdMarkTaskLine.ITEMID 
FROM MarkTaskLine
 
inner JOIN InventTable 
on MarkTaskLine
.ItemId InventTable.ItemId 
 
inner join InventItemRange
on InventTable
.ItemRangeId InventItemRange.RangeId
Where MarkTaskLine
.MarkTaskId 'ЗМР0018335'
 
ORDER BY InventTable.TMid ASC
InventItemRange.RangeIdParent ASC,
InventItemRange.RangeId ASC
MarkTaskLine.ItemId 
Старый 08.07.2008, 15:40   #2  
sparur is offline
sparur
Участник
 
334 / 25 (1) +++
Регистрация: 19.05.2006
у QueryBuildDataSource имеется такие свойства:

X++:
qbds.addSortField(Fieldnum(InventTable, TMid));
qbds.orderMode(OrderMode::OrderBy);
Старый 08.07.2008, 16:17   #3  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
От перестановки местами таблиц при inner join смысл не изменится.
Так что, ставьте MarkTaskLine последним
Старый 08.07.2008, 16:24   #4  
DSPIC is offline
DSPIC
Боец
 
1,077 / 1243 (44) ++++++++
Регистрация: 11.04.2008
Цитата:
Дело в том, что мне нужно чтобы последним полем сортировки было поле из первой из 3-х при-JOIN-еных таблиц. На SQL это делается просто, а вот как сделать через Query я не знаю...
Известная проблема, и обычным запросом её не решишь. Самый простой и быстрый способ её решения - это построить View на основе этих 3х таблиц, в результате чего вы сможете сортить как угодно (query, select), по любому полю в любой последовательности, т.к. для системы это будет как одна таблица.
За это сообщение автора поблагодарили: orimov1 (0).
Старый 08.07.2008, 17:01   #5  
Zlojbarsuk is offline
Zlojbarsuk
Участник
 
26 / 12 (1) ++
Регистрация: 08.08.2007
спасибо DSPIC за совет
Старый 08.07.2008, 19:02   #6  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
В Ax 2009, кстати, порядок сортировки уже можно указать "правильно". (после всех join, указывая название таблицы/поля)
За это сообщение автора поблагодарили: orimov1 (0).
Теги
ax2009

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Dynamics AX: QueryRun and Query Objects - Binding operation failed to allocate buffer space Blog bot DAX Blogs 0 03.04.2009 08:05
palleagermark: Sample union query from AX 2009 Blog bot DAX Blogs 0 11.07.2008 20:05
Dynamics AX Geek: Using query() Blog bot DAX Blogs 0 28.10.2006 16:40
Установка условия ИЛИ (OR) в Query Zeratul DAX: Программирование 3 22.06.2006 14:28
Проблема с составлением Query axaLearner DAX: Программирование 10 01.12.2005 15:00

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

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

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