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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.02.2006, 15:23   #1  
sah is offline
sah
Участник
 
15 / 10 (1) +
Регистрация: 01.11.2005
такая запись корректна?
PHP код:
while select EmplId from  EmplTable
        group by EmplId
        join GroupTable
        where EmplTable
.EmplId == GroupTable.EmplId  &&
              
GroupTable.Group == _group 
Старый 20.02.2006, 15:26   #2  
Roman777 is offline
Roman777
NavAx
Аватар для Roman777
NavAx Club
 
320 / 64 (3) ++++
Регистрация: 10.02.2005
Адрес: г. Москва
Да, а что, не работает?
Старый 20.02.2006, 15:35   #3  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Простите, может чего-то не понял, но чем это отличается от

while select EmplId from GroupTable group by EmplId where GroupTable.Group == _group

p.s. Простите, не понял сразу. Вы хотите выбрать по строке из GroupTable для каждого сотрудника.
Да, тогда думаю, записть корректна

Последний раз редактировалось kashperuk; 20.02.2006 в 15:47.
Старый 20.02.2006, 15:39   #4  
Zick-Zibn is offline
Zick-Zibn
Участник
 
78 / 38 (2) +++
Регистрация: 28.05.2004
Адрес: Moscow
А зачем группируете по EmplId это поле уникальное для таблицы EmplTable. В этой таблице не может быть быть двух одинаковых полей.
Старый 20.02.2006, 15:53   #5  
sah is offline
sah
Участник
 
15 / 10 (1) +
Регистрация: 01.11.2005
да спасибо , работает )
Старый 20.02.2006, 21:14   #6  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
иногда такое помогает
X++:
while select EmplId from  EmplTable 
        group by EmplId 
        // вместо  join GroupTable 
        join maxOf(recID) from GroupTable 
        where EmplTable.EmplId == GroupTable.EmplId  && 
              GroupTable.Group == _group
Старый 21.02.2006, 17:15   #7  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
2 belugin:
Ну если так, то какой тогда смысл этого запроса??
Выбрать просто все emplId принадлижащие указанной группе??
Если да, то не обязательно joinить EmplTable

Если же нет, и нам нужны данные по этим сотрудникам из GroupTable, то maxof() не катит.

Объясните, если я не прав.
Старый 21.02.2006, 17:36   #8  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
в данном конкретном случае так делать не надо. но если надо только ограничить выборку по связанной таблице то, если не указывать maxOf, axapta будет пытаться выбирать из нее негруппированные поля (все поля связанной) и SQL, посылаемый на SQL сервер, будет некорректный. Такой workaround может помочь
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Не корректно сохраняет запись в inventTable Starling DAX: Программирование 8 31.03.2008 15:30
Очень просто: создать новую запись в таблице Hobo DAX: Программирование 20 11.07.2006 13:02
Ошибка при импорте демоданных (Axapta 3.0 CIS SP1) KocDm DAX: Администрирование 2 11.08.2005 12:04
Исчезает запись в плане счетов zarik DAX: Прочие вопросы 6 03.05.2005 10:32
Как Узнать из класса - Текущую выбранную запись в таблице djoker DAX: Программирование 1 01.12.2004 07:36

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

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

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