Поиск:

Ответ в темуСоздание новой темы Создание опроса
> сортировка строковых чисел, не могу разобраться, инфы недостаточно.. 
:(
    Опции темы
MRF
Дата 29.1.2008, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 2.10.2006

Репутация: нет
Всего: нет



Доброго времени суток! Поймите правильно, с такой сортировкой сталкиваюсь впервые и немогу ее прикрутить к другой процедуре. Инфы по сортировке строковых чисел мало, да и неразобрался...
Две таблицы: run.dbf и obmenrun.dbf. В run.dbf нужно сделать  вышеупомянутую сортировку, а потом из obmenrun.dbf выбрать:

Код

Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('Insert into ''obmenrun.dbf'' select * from ''run.dbf'' where id_drv between '+edit1.text+' and '+edit2.text+'');
Query1.ExecSQL; 


Несочтите за наглость... Прошу о помощи, т.к. сам убил уже два дня. smile 



Это сообщение отредактировал(а) Rodman - 29.1.2008, 12:07
PM MAIL   Вверх
MRF
Дата 29.1.2008, 12:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 2.10.2006

Репутация: нет
Всего: нет



Неужели нерешаемая задача?
PM MAIL   Вверх
MRF
Дата 29.1.2008, 13:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 2.10.2006

Репутация: нет
Всего: нет



Мдяяяяя.... smile 
PM MAIL   Вверх
Deniz
Дата 29.1.2008, 15:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 8
Всего: 44



Цитата(MRF @  29.1.2008,  15:02 Найти цитируемый пост)
Инфы по сортировке строковых чисел мало
Что такое строковые числа?
Сортировка делается в запросе типа
Код
select ... from ... order by <вот тут как раз и сортировка>


Цитата(MRF @  29.1.2008,  15:43 Найти цитируемый пост)
Неужели нерешаемая задача? 
Задача-то решаемая, эмулятор телепата глючит.


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
MRF
Дата 29.1.2008, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 2.10.2006

Репутация: нет
Всего: нет



В таком запросе числа выводятся 10,11,14,21,253,33,334,66    ,а надо 1,2,3,4,5,6.... Поле не числовое, а строковое
PM MAIL   Вверх
Lunatikus
Дата 29.1.2008, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 503
Регистрация: 29.6.2007

Репутация: 1
Всего: 6



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


--------------------
TheSin - небольшое игровое сообщество взрослых и молодых(L2,WoW,Aion,RFonline and other not mmorpg,not computer games).
сайт гильдии
PM MAIL   Вверх
X-Vlad
Дата 29.1.2008, 16:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 570
Регистрация: 10.4.2002
Где: Украина, Львов

Репутация: 3
Всего: 5



Цитата(MRF @ 29.1.2008,  11:02)
Доброго времени суток! Поймите правильно, с такой сортировкой сталкиваюсь впервые и немогу ее прикрутить к другой процедуре. Инфы по сортировке строковых чисел мало, да и неразобрался...
Две таблицы: run.dbf и obmenrun.dbf. В run.dbf нужно сделать  вышеупомянутую сортировку, а потом из obmenrun.dbf выбрать:

Код

Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('Insert into ''obmenrun.dbf'' select * from ''run.dbf'' where id_drv between '+edit1.text+' and '+edit2.text+'');
Query1.ExecSQL; 


Несочтите за наглость... Прошу о помощи, т.к. сам убил уже два дня. smile

Цитата

Query1.SQL.Add('Insert into ''obmenrun.dbf'' select * from ''run.dbf'' where id_drv between '+edit1.text+' and '+edit2.text+'');



Код

'Insert into ''obmenrun.dbf'' 
select * from ''run.dbf'' 
where id_drv between '+edit1.text+' and '+edit2.text+'
order by id_drv'



--------------------
Хорошая штука - комп..:)
www.x-vlad.com
PM MAIL WWW ICQ   Вверх
Lunatikus
Дата 29.1.2008, 16:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 503
Регистрация: 29.6.2007

Репутация: 1
Всего: 6



не думаю,что он не додумался бы поставить order,если б ему это надо было.MRF,вылезай,проясни вопрос.


--------------------
TheSin - небольшое игровое сообщество взрослых и молодых(L2,WoW,Aion,RFonline and other not mmorpg,not computer games).
сайт гильдии
PM MAIL   Вверх
Lunatikus
Дата 29.1.2008, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 503
Регистрация: 29.6.2007

Репутация: 1
Всего: 6



MRF, а что тебе мешает вместо * в селекте ставить нужное поле,переведенное в числовой формат?
Код

SELECT CAST(id_drv as int) as id_drv...



--------------------
TheSin - небольшое игровое сообщество взрослых и молодых(L2,WoW,Aion,RFonline and other not mmorpg,not computer games).
сайт гильдии
PM MAIL   Вверх
X-Vlad
Дата 29.1.2008, 17:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 570
Регистрация: 10.4.2002
Где: Украина, Львов

Репутация: 3
Всего: 5



Цитата(Lunatikus @ 29.1.2008,  15:07)
не думаю,что он не додумался бы поставить order,если б ему это надо было.MRF,вылезай,проясни вопрос.

судя с 
Цитата

В таком запросе числа выводятся 10,11,14,21,253,33,334,66    ,а надо 1,2,3,4,5,6.... Поле не числовое, а строковое

то именно то недодумался

кстати возможно просто не зделал
Код

select * from ''obmenrun.dbf''  order by id_drv


вставляются то данные в таблицу в разные места... 

надо создавать индексы, ключи и т.д.

Добавлено @ 17:09
Цитата(Lunatikus @ 29.1.2008,  15:33)
MRF, а что тебе мешает вместо * в селекте ставить нужное поле,переведенное в числовой формат?
Код

SELECT CAST(id_drv as int) as id_drv...

сомневаюсь что там есть функция CAST()... smile

Какую базу юзаем?

Это сообщение отредактировал(а) X-Vlad - 29.1.2008, 17:09


--------------------
Хорошая штука - комп..:)
www.x-vlad.com
PM MAIL WWW ICQ   Вверх
MRF
Дата 29.1.2008, 17:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 2.10.2006

Репутация: нет
Всего: нет



Ребята, дело не в этом. Поле id_drv строковое, и числа в нем сортируются неправильно, типа: 1,12,15,165,189,20,26,267,568,78,86 и т.д.
Надо так:1,2,3,4,5,6,7,8,9,10,11,12... Поэтому ORDER BY неподходит...

Добавлено через 1 минуту и 6 секунд
BDE
PM MAIL   Вверх
Lunatikus
Дата 29.1.2008, 17:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 503
Регистрация: 29.6.2007

Репутация: 1
Всего: 6



это конкретный пример?Т.е. у тебя есть числа 12,245,45,2 строкового типа.И тебе надо получить ряд из них 1,2,3,4?уверен?может все же я не так понял и надо получить 2,12,45,245?

нет cast()-найдется что-то другое =) convert в помощь


--------------------
TheSin - небольшое игровое сообщество взрослых и молодых(L2,WoW,Aion,RFonline and other not mmorpg,not computer games).
сайт гильдии
PM MAIL   Вверх
MRF
Дата 29.1.2008, 17:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 2.10.2006

Репутация: нет
Всего: нет



Цитата
это конкретный пример?Т.е. у тебя есть числа 12,245,45,2 строкового типа.И тебе надо получить ряд из них 1,2,3,4?уверен?может все же я не так понял и надо получить 2,12,45,245?

Мне нужен не порядковый ряд, а именно ПРАВИЛЬНУЮ СОРТИРОВКУ тех чисел, которые имеются в Id_drv файла run.dbf,
и привязать ее к :

Код

Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('Insert into ''obmenrun.dbf'' select * from ''run.dbf'' where id_drv between '''+edit1.text+''' and '''+edit2.text+'''');
Query1.ExecSQL;

 
PM MAIL   Вверх
Lunatikus
Дата 29.1.2008, 18:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 503
Регистрация: 29.6.2007

Репутация: 1
Всего: 6



ну,Как я уже говрил,переводи в числовой тип,его и сортируй.Или с этим проблема?синтаксис convert или format посмотри,я не помню их.


--------------------
TheSin - небольшое игровое сообщество взрослых и молодых(L2,WoW,Aion,RFonline and other not mmorpg,not computer games).
сайт гильдии
PM MAIL   Вверх
X-Vlad
Дата 29.1.2008, 18:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 570
Регистрация: 10.4.2002
Где: Украина, Львов

Репутация: 3
Всего: 5



Код

select * from ''obmenrun.dbf''  order by cast(id_drv as int)



--------------------
Хорошая штука - комп..:)
www.x-vlad.com
PM MAIL WWW ICQ   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0562 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.