Показать сообщение отдельно
Старый 31.07.2007, 19:19   #6  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5813 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
У меня тоже не воспроизвелось, тестировал на SP3 CU1, KR2, KR3, делал выборку CustTable.AccountNum (там есть уникальный индекс по этому полю). Получались такие результаты.
AX 3.0 SP3 CU1, база Oracle (всякие SUBSTR(NLS_LOWER()), видимо - заморочки админов СУБД):
X++:
SELECT A.ACCOUNTNUM,A.RECID
FROM   CUSTTABLE A 
WHERE  ((SUBSTR(NLS_LOWER(DATAAREAID),1,3)=NLS_LOWER('dat')) AND
   NOT ((SUBSTR(NLS_LOWER(ACCOUNTNUM),1,10)=NLS_LOWER('        00'))))
ORDER BY SUBSTR(NLS_LOWER(A.DATAAREAID),1,3),
         SUBSTR(NLS_LOWER(A.ACCOUNTNUM),1,10)
AX 3.0 KR2, база SQL 2005:
X++:
SELECT A.ACCOUNTNUM,A.RECID,A.RECVERSION
FROM   CUSTTABLE A
WHERE ((DATAAREAID='dat') AND NOT ((ACCOUNTNUM='          00')))
ORDER BY A.DATAAREAID,A.ACCOUNTNUM OPTION(FAST 9)
AX 3.0 KR3, база опять Oracle:
X++:
SELECT A.ACCOUNTNUM,A.RECID,A.RECVERSION 
FROM   CUSTTABLE A 
WHERE  ((SUBSTR(NLS_LOWER(DATAAREAID),1,3)=NLS_LOWER('dat')) AND  
   NOT ((SUBSTR(NLS_LOWER(ACCOUNTNUM),1,10)=NLS_LOWER('        00')))) 
ORDER BY SUBSTR(NLS_LOWER(A.DATAAREAID),1,3),
         SUBSTR(NLS_LOWER(A.ACCOUNTNUM),1,10)