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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 13.11.2003, 17:47   #1  
listener is offline
listener
Участник
 
74 / 11 (1) +
Регистрация: 23.07.2003
Адрес: г. Москва
select group by
Пытаюсь получить уникальные значения поля в таблице
while select table1 group by field1
{
print table1.field1;
}
Почему table1.field1переводится в нижний регистр?
Заранее благодарен.
Старый 13.11.2003, 18:03   #2  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
потому что вы работаете на оракле в Аксапте 2.5.
я угадал?

Это у нее фича такая.
Старый 13.11.2003, 18:06   #3  
komar is offline
komar
Шаман форума
Аватар для komar
Ex AND Project
 
5,571 / 600 (32) +++++++
Регистрация: 24.05.2002
Вроде даже можно ее в верхний регистр. Вроде даже обсуждалось тут....
Старый 13.11.2003, 18:09   #4  
listener is offline
listener
Участник
 
74 / 11 (1) +
Регистрация: 23.07.2003
Адрес: г. Москва
Почти.
Это действительно Oracle 9i, но Axapta 3.0.
Как это победить?
Старый 13.11.2003, 18:20   #5  
listener is offline
listener
Участник
 
74 / 11 (1) +
Регистрация: 23.07.2003
Адрес: г. Москва
А на Oracle от Axapta уходит такой запрос
SELECT SUBSTR(NLS_LOWER(A.FIELD1),1,25) .....
Поэтому Oracle тут совсем ни причем.
Старый 13.11.2003, 18:26   #6  
listener is offline
listener
Участник
 
74 / 11 (1) +
Регистрация: 23.07.2003
Адрес: г. Москва
2 komar
А как сделать так, чтобы вообще не переводилось???
Старый 13.11.2003, 18:28   #7  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
оракл не причем.
это фича Аксапты.
http://technet.damgaard.com/workspac...ribId=14&wso=1

В 3.0 вроде победили... странно...
Старый 18.11.2003, 08:38   #8  
AlEr is offline
AlEr
Участник
 
33 / 15 (1) ++
Регистрация: 31.07.2003
Адрес: Moscow
Цитата:

"As you can see of the SQL statement below which is the result of your code generated to the Oracle database, the SELECT'ED fields are being LOWERCASED. This is due to the nature of the GROUP BY and using functional indexes, that we need to use a function on the fields for the optimizer to be able to use the functional index, if defined.
Using GROUP BY with Axapta 3.0/Oracle, you need to do some UPPERCASE string manipulation on the variables which you want to show/print.

SELECT SUBSTR(NLS_LOWER(A.ACCOUNTNUM),1,10),SUBSTR(NLS_LOWER(A.DIMENSION),1,10),SUBSTR(NLS_LOWER(A.DIMENSION2_),1,10),SUBSTR(NLS_LOWER(A.DIMENSION3_),1,10),A.TRANSTYPE,SUBSTR(NLS_LOWER(B.ACCOUNTNUM),1,10),SUBSTR(NLS_LOWER(B.CURRENCYCODE),1,3),SUBSTR(NLS_LOWER(B.ACCOUNTNAME),1,60)
FROM LEDGERTRANS A,LEDGERTABLE B
WHERE (SUBSTR(NLS_LOWER(A.DATAAREAID),1,3)=NLS_LOWER('DMO'))
AND (SUBSTR(NLS_LOWER(B.DATAAREAID),1,3)=NLS_LOWER('DMO'))
GROUP BY SUBSTR(NLS_LOWER(A.ACCOUNTNUM),1,10),SUBSTR(NLS_LOWER(A.DIMENSION),1,10),SUBSTR(NLS_LOWER(A.DIMENSION2_),1,10),SUBSTR(NLS_LOWER(A.DIMENSION3_),1,10),A.TRANSTYPE,SUBSTR(NLS_LOWER(B.ACCOUNTNUM),1,10),SUBSTR(NLS_LOWER(B.CURRENCYCODE),1,3),SUBSTR(NLS_LOWER(B.ACCOUNTNAME),1,60)
ORDER BY SUBSTR(NLS_LOWER(A.ACCOUNTNUM),1,10),SUBSTR(NLS_LOWER(A.DIMENSION),1,10),SUBSTR(NLS_LOWER(A.DIMENSION2_),1,10),SUBSTR(NLS_LOWER(A.DIMENSION3_),1,10),A.TRANSTYPE,SUBSTR(NLS_LOWER(B.ACCOUNTNUM),1,10),SUBSTR(NLS_LOWER(B.CURRENCYCODE),1,3),SUBSTR(NLS_LOWER(B.ACCOUNTNAME),1,60)"

Или другой workaround - выводить print Table1::find().Field1; внутри цикла...

С уважением,
ALER
Старый 18.11.2003, 11:56   #9  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
а откуда цитата?
Старый 18.11.2003, 12:05   #10  
AlEr is offline
AlEr
Участник
 
33 / 15 (1) ++
Регистрация: 31.07.2003
Адрес: Moscow
NSS, RU-141-604-JHHM (для зарегистрированных пользователей партнеров)

С уважением,
ALER
Старый 18.11.2003, 12:19   #11  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
спасибо
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Разница NotInTTS и Found Logger DAX: База знаний и проекты 6 18.09.2008 12:35
gatesasbait: Reverse keyword on Select Statements Blog bot DAX Blogs 0 08.02.2008 00:10
while select ... group by dimension[i] Tiruvileijadal' DAX: Программирование 33 06.12.2007 17:11
Вопрос про Demand Planner slava09 DAX: Функционал 4 25.09.2006 11:43
group , но не by slava DAX: Программирование 9 21.05.2003 19:05

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 04:04.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.