![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Переменное правило сортировки. Возможно ли это? [D6]
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. Будет тормозить на больших выборках, так как индекс здесь не прикрутишь.