Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Переменное правило сортировки. Возможно ли это? [D6]


Страницы:   1 2

alex-ran ©   (2005-09-15 16:43:00) 

Уважаемые мастера. Возникла необходимость сортировать Набор Данных с переменным условием сортировки, допустим если первое поле нечетное (либо какое другое условие) - то второе поле по возрастанию, и первое четное -  второе по убыванию и т. д., Например:

 Есть:                             Надо получить:

№       Длина                 №       Длина
1        500                     1        500
1        1600                   1        1600
2        700                     2        1400
2        1400                   2        700
3        600                     3        200
3        200                     3        600

Можно ли такое сделать средствами SQL?
Пока что приходится делать руками.
С уважением, Александр.


Reindeer Moss Eater   (2005-09-15 17:29:00) [21]

для Оракла:
...
order by №,decode(bitand(№,1),1,длина,0,1 - длина)


alex-ran   (2005-09-15 17:28:00) [22]

Блин, извиняюсь, забыл уточнить, а в Paradox ?


ANB   (2005-09-15 17:09:00) [23]

Можно. Выделить калькулируемое поле в запросе, с помощью case его правильно заполнить и сортировать по нему.
Проблемы (имхо) :
1. Не все движки съедят эту конструкцию (Оракл съест точно)
2. Будет тормозить на больших выборках, так как индекс здесь не прикрутишь.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо