Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.12.2013, 16:22   #1
azzzazzzelDEAN
Пользователь
 
Регистрация: 09.02.2011
Сообщений: 25
По умолчанию Сортировка по вычисляемому полю

Всем привет. НУжно сделать сортировку по вычисляимому полю, решил это сделать с помощью компонента ADOQuery, в свойстве sql пишу:
Цитата:
select *,(length + diameter) AS Calc From Cutter Order By Calc
Сортирую таблицу Cutter, сортировку хочу сделать по полю Calc которое вычисляется из полей (length + diameter), но что то в итоге он сортирует как мне кажется по length. База данных SQL.
azzzazzzelDEAN вне форума Ответить с цитированием
Старый 19.12.2013, 16:32   #2
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

за звезду руки отбивают
сортировать надо по порядковому номеру поля в перечислении
eval вне форума Ответить с цитированием
Старый 19.12.2013, 17:53   #3
xxbesoxx
Участник клуба
 
Регистрация: 10.08.2010
Сообщений: 1,389
По умолчанию

Код:
select *,(length + diameter) AS Calc From Cutter Order By Calc ASC
-- по возрастанию

Код:
select *,(length + diameter) AS Calc From Cutter Order By Calc DESC
-- по убыванию
xxbesoxx вне форума Ответить с цитированием
Старый 19.12.2013, 20:48   #4
azzzazzzelDEAN
Пользователь
 
Регистрация: 09.02.2011
Сообщений: 25
По умолчанию

Цитата:
Сообщение от xxbesoxx Посмотреть сообщение
Код:
select *,(length + diameter) AS Calc From Cutter Order By Calc ASC
-- по возрастанию

Код:
select *,(length + diameter) AS Calc From Cutter Order By Calc DESC
-- по убыванию
все равно сортирует по length
azzzazzzelDEAN вне форума Ответить с цитированием
Старый 19.12.2013, 21:09   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Обычно в ORDER BY может быть имя колонки или порядковый номер выражения в списке SELECT-а. Или выражение. НО не псевдоним. eval уже написал как нужно
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 19.12.2013, 23:17   #6
azzzazzzelDEAN
Пользователь
 
Регистрация: 09.02.2011
Сообщений: 25
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Обычно в ORDER BY может быть имя колонки или порядковый номер выражения в списке SELECT-а. Или выражение. НО не псевдоним. eval уже написал как нужно
PHP код:
select *,(length diameter) AS Calc From Cutter Order By 18 ASC 
записал таким макаром, под 18 номером у меня вычисляеме поле оно пустое, он с таки запросом выводит пустую таблицу.
А на других номерах сортирует верно.
azzzazzzelDEAN вне форума Ответить с цитированием
Старый 19.12.2013, 23:40   #7
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Уверен, что 17 полей под *?
Цитата:
у меня вычисляеме поле оно пустое
А зачем оно вообще тогда нужно?

Попробуй еще ORDER BY length+diameter

Вообще странная комбинация - длина+диаметр
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 20.12.2013, 10:16   #8
azzzazzzelDEAN
Пользователь
 
Регистрация: 09.02.2011
Сообщений: 25
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Уверен, что 17 полей под *?
А зачем оно вообще тогда нужно?

Попробуй еще ORDER BY length+diameter

Вообще странная комбинация - длина+диаметр
полей без вычисляемого точно 17, перебирал в запроси от 15до17 и сортирует именно по тем полям номер которых указал.
поле пустое это я не так выразился, вообще оно заполнялось на событие OnCalcFields.
А диаметр + длинна это пока на пробу, вообще планируется получать удельный вес зная плотность диаметр и длину(так в OnCalcFields он и считает кстати).
azzzazzzelDEAN вне форума Ответить с цитированием
Старый 20.12.2013, 10:19   #9
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
OnCalcFields
И причем здесь ORDER BY? Делай вычисляемое в запросе и сортируй по нем. Вычисляемые на клиенте к запросу уже ни какого отношения не имеют
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 20.12.2013, 11:00   #10
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

ай хохма..
eval вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сортировка по первому полю Олька Жи Помощь студентам 3 29.05.2012 14:23
сортировка классов по полю? ololo-schoolboy PHP 0 25.03.2011 21:30
Сортировка таблицы по пустому полю chinara БД в Delphi 6 15.12.2010 09:22
Сортировка по полю [Smarik] SQL, базы данных 1 08.05.2009 20:27
Сортировка по полю! Lazio Общие вопросы C/C++ 3 17.03.2009 19:13