13.11.2003, 17:47 | #1 |
Участник
|
select group by
Пытаюсь получить уникальные значения поля в таблице
while select table1 group by field1 { print table1.field1; } Почему table1.field1переводится в нижний регистр? Заранее благодарен. |
|
13.11.2003, 18:03 | #2 |
Участник
|
потому что вы работаете на оракле в Аксапте 2.5.
я угадал? Это у нее фича такая. |
|
13.11.2003, 18:06 | #3 |
Шаман форума
|
Вроде даже можно ее в верхний регистр. Вроде даже обсуждалось тут....
|
|
13.11.2003, 18:09 | #4 |
Участник
|
Почти.
Это действительно Oracle 9i, но Axapta 3.0. Как это победить? |
|
13.11.2003, 18:20 | #5 |
Участник
|
А на Oracle от Axapta уходит такой запрос
SELECT SUBSTR(NLS_LOWER(A.FIELD1),1,25) ..... Поэтому Oracle тут совсем ни причем. |
|
13.11.2003, 18:26 | #6 |
Участник
|
2 komar
А как сделать так, чтобы вообще не переводилось??? |
|
13.11.2003, 18:28 | #7 |
Участник
|
оракл не причем.
это фича Аксапты. http://technet.damgaard.com/workspac...ribId=14&wso=1 В 3.0 вроде победили... странно... |
|
18.11.2003, 08:38 | #8 |
Участник
|
Цитата:
"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 |
Участник
|
а откуда цитата?
|
|
18.11.2003, 12:05 | #10 |
Участник
|
NSS, RU-141-604-JHHM (для зарегистрированных пользователей партнеров)
С уважением, ALER |
|
18.11.2003, 12:19 | #11 |
Участник
|
спасибо
|
|
|
Похожие темы | ||||
Тема | Ответов | |||
Разница NotInTTS и Found | 6 | |||
gatesasbait: Reverse keyword on Select Statements | 0 | |||
while select ... group by dimension[i] | 33 | |||
Вопрос про Demand Planner | 4 | |||
group , но не by | 9 |
Опции темы | Поиск в этой теме |
Опции просмотра | |
|