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

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

Помогите с запросом [D6, dBase, FoxPro]


rel_ ©   (2003-10-16 10:02:00) 

В локально таблице (dBase) есть поле, первые цифры которого число, а остальные - буквы (или любые произвольные символы).
Например:
321с
12б
12а
321б

Как энто хозяйство отсортировать (желательно в запросе) сначала по цифре, а затем по символу.

Результат:
12а
12б
321б
321с


Johnmen   (2003-10-16 15:57:00) [1]

>rel_ (16.10.03 15:06)
>to Johnmen © А мы что, о программировании разговариваем ????

Не похоже... А похоже, что об истинной и ложной вере. И ее влиянии на наши знания. Но тогда причем здесь cast ???
:)))


rel_   (2003-10-16 15:06:00) [2]

to Johnmen © А мы что, о программировании разговариваем ????


Johnmen   (2003-10-16 11:37:00) [3]

>rel_

Слова "вроде", "кажется", "надеюсь" и т.п. не относятся к программированию.
:)


rel_   (2003-10-16 10:51:00) [4]

aVast ©

>>Вроде правильно, при условии, что функция cast() работает именно так.

Я очень на это надеюсь (поэтому и спросил) - потестировал на всём, чём только можно.

>>А from сознательно опущен?
Ну, кажется сознательно ?!


Dionys   (2003-10-16 10:49:00) [5]


SELECT CAST(<поле> AS INTEGER) AS i, <поле>
FROM <таблица>
ORDER BY i, <поле>


aVast   (2003-10-16 10:46:00) [6]

to rel_
>> Боюсь, что Вы не совсем правы

Согласен

>> я написал следующее - вроде сработало. Посмотрите, правильно ли написал

>>select anyField, cast(anyField) as numField
>>order by numField, anyField

Вроде правильно, при условии, что функция cast() работает именно так.
А from сознательно опущен?


rel_   (2003-10-16 10:37:00) [7]

Anatoly Podgoretsky ©
смысл я понимаю (кажется): в одно поле вытащить численную часть, а в другую - символьную (но как - именно в запросе)???

я написал следующее - вроде сработало. Посмотрите, правильно ли написал

select anyField, cast(anyField) as numField
order by numField, anyField

просто cast(anyField) обрубает все символы и оставляет число, например: 123 - абв переводится в 123

Если не трудно, ответьте, правильно ли я сделал : во всех ли случаях будет энто отрабатываться ???


Anatoly Podgoretsky   (2003-10-16 10:30:00) [8]

Надо создать специальное поле (одно или два) и уже по нему (ним)делать сотртировку


rel_   (2003-10-16 10:15:00) [9]

to aVast ©
Боюсь, что Вы не совсем правы, т.к. такой запрос отработает именно так

Результат:
1
10
100
11
2
и т.д.

т.е. для числовой части рез-т будет неверен.


aVast   (2003-10-16 10:08:00) [10]

select Field1 from table
order by Field1


Наверх

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