вопрос по сортировке данных при выборке

dorfey

Guest
вопрос по сортировке данных при выборке

предположим в таблице есть 3 записи:
Модель Optimat SKO 113С
Модель Optimat SCO 113С DIAMOND
Модель Optimat SCO 213С DIAMOND

при выборке данные выводятся в следующем порядке:
Модель Optimat SCO 113С DIAMOND
Модель Optimat SCO 213С DIAMOND
Модель Optimat SKO 113С

запрос выглядит следующим образом:
select name from table order by name;

как правельно составить запрос что бы строка "Модель Optimat SKO 113С" выводилась первой ?
 

dorfey

Guest
Результат после Order By name Desc
Модель Optimat SKO 113С
Модель Optimat SCO 213С DIAMOND
Модель Optimat SCO 113С DIAMOND

Этот вариант к сожалению не подходит
Какие еще есть предложения?
 

Panchous

Павел
как правельно составить запрос что бы строка "Модель Optimat SKO 113С" выводилась первой ?
Результат после Order By name Desc
Модель Optimat SKO 113С
Модель Optimat SCO 213С DIAMOND
Модель Optimat SCO 113С DIAMOND
Этот вариант к сожалению не подходит
???
 

Steamroller

Новичок
Почему не подходит?
Требуется чтобы 'строка "Модель Optimat SKO 113С" выводилась первой'.
Она и выводится первой.

-~{}~ 24.10.05 14:47:

Panchous, одновременно запостили (флудер родился ;))
 

dorfey

Guest
совсем запутался, сорри.
напишу поточнее и понятнее.
есть данные:
Модель DLC 1370
Модель DLC 1120
Модель DLC 970
Модель DLC 650

при запросе:
select name from table order by name;
получаем результат:
Модель DLC 1120
Модель DLC 1370
Модель DLC 650
Модель DLC 970

при запросе:
select name from table order by name desc;
получаем результат:
Модель DLC 970
Модель DLC 650
Модель DLC 1370
Модель DLC 1120

вопрос.
как правельно составить запрос что бы получить результат в виде:
Модель DLC 1370
Модель DLC 1120
Модель DLC 970
Модель DLC 650
 

SelenIT

IT-лунатик :)
dorfey
Если я верно понял, тебе нужно, чтобы названия моделей сортировались как строки, а маркировки - как числа? И при этом, чтобы целое название хранилось в одном поле?
 

basboy

Новичок
dorfey
Значит нужно разделять данные, это избавит тебя от гемороя в дальнейшем.
 

Crazy

Developer
Автор оригинала: dorfey
не могу пока решить эту проблему так как нужно учесть что "чтобы целое название хранилось в одном поле"
Простой вопрос: зачем хранить название в одном поле, если оно однозначно состоит из двух семантически различных компонент?
 

dorfey

Guest
Простой вопрос: зачем хранить название в одном поле, если оно однозначно состоит из двух семантически различных компонент?
имеем:
дизайнер в виде вебмастера с кривыми руками.
данное существо не заморачивалось логическим разделением данных.
результат:
убогий каталог оборудования.
задача:
в кратчайшие сроки исправить положение.

пока в голову приходит один способ решения проблемы.
разделять названия на составные, загружать в массив и уже принтовать список сортирую последовательно по каждому элементу массива.

-~{}~ 25.10.05 10:47:

Значит нужно разделять данные, это избавит тебя от гемороя в дальнейшем.
я бы так и поступил, но сидеть сейчас и перелопачивать порядка 70.000 названий это не лучший вариант.
 

basboy

Новичок
>>я бы так и поступил, но сидеть сейчас и перелопачивать порядка 70.000 названий это не лучший вариант.

Анпиши простенький скрипт:
-выборка
- раздерение
-занесени
 

dorfey

Guest
от разделения данных думаю придется отказаться.
причина:
конкретное количесво элементов в названии не известно.
может быть например три элемента - [Модель] [DLC] [970]
может быть и шесть - [модель] [optimat] [hpp] [380] [38] [38]
и т.д.
 

basboy

Новичок
От раздления никуда не деться. Если тебя жмёт сортировка, то тебе при равно придётся прибегнуть к разделению.
Регулярки тебе помогут.
 

Crazy

Developer
Автор оригинала: dorfey
в кратчайшие сроки исправить положение.
Разделение на два поля -- и есть простейшее решение.

я бы так и поступил, но сидеть сейчас и перелопачивать порядка 70.000 названий это не лучший вариант.
Религия не позволяет сделать это скриптом?

-~{}~ 25.10.05 12:41:

Автор оригинала: dorfey
конкретное количесво элементов в названии не известно.
Задача "отсортировать невесть что невесть как, но правильно" решения не имеет. Тебе к Деду Морозу (но ждать еще два месяца), либо формулировать осмысленную задачу.
 
Сверху