Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Custom sort with ORDER BY in Cache / 3 сообщений из 3, страница 1 из 1
15.12.2008, 15:28
    #35714906
Andrew Kovalchuk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Custom sort with ORDER BY in Cache
Подскажите, как реализовать настраиваемую сортировку в запросе к базе?
Конкретнее.
Сейчас есть такой запрос:
Код: plaintext
  select Name from Access.Experts order by Name
Так как язык записей украинский, то результат выводится не в алфавитном порядке, а в таком - (ЄєІіЇїАаБбВв...Яя). Хотелось бы исправить сей недостаток и показывать список в алфавитном (кастомном) порядке.
Нагуглил вариант:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
...
Order by
CASE result
  WHEN ... THEN  1 
  WHEN .... THEN  2 
  ...
  ELSE  999 
END
но этот вариант не подходит по причине большого количества пользователей (это практически то же самое, что делать все руками)

Более элегантным выглядит решение:
Код: plaintext
1.
select Name, OrderInList(Name) mysort
order by mysort, Name
но осталось непонятным где написать эту самую функцию OrderInList(str) для того, чтобы ее можно было использовать в запросе.
...
Рейтинг: 0 / 0
15.12.2008, 20:33
    #35715688
Andrew Kovalchuk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Custom sort with ORDER BY in Cache
Как временный вариант, реализовано промежуточное решение между двумя предложенными в первом сообщении:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
select Name, 
  case $extract(Name)
   when "Є" then {fn CONCAT("ЕЯ", Name)}
   /*... при необходимости сюда можно будет дописать замены для других символов ...*/
   else Name
  end as SortName
from Access.Expert
order by SortName
Такой вариант дороговат с точки зрения Relative cost , но другого пока нет.
...
Рейтинг: 0 / 0
16.12.2008, 03:09
    #35715972
logist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Custom sort with ORDER BY in Cache
Потрясите InterSystems на тему сортировки (collation) для Украины. Наверняка у
них либо у партнеров есть.

В Каше сортировка очень гибко настраивается через утилиту cnls.

=Сергей Шутов,
ООО Димас, Хабаровск
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Custom sort with ORDER BY in Cache / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]