|
|
|
| Добрый день! Подскажите, пожалуйста, как реализовать запрос к базе данных, чтобы выдавалась сортировка вида "текст 1000х600х60", "текст 1000х600х80", "текст1000х600х100" , если текст и числа -это данные одного поля таблицы?
В текущем запросе "select id,name,price from table order by name" сортировка по алфавиту получается, но цифры не сортирует как надо | |
|
|
|
|
|
|
|
для: Makseg
(11.05.2010 в 15:58)
| | зачем нужно было запихивать все это в одно поле?
распихайте в разные поля и усё тут :) | |
|
|
|
|
|
|
|
для: Valick
(11.05.2010 в 16:06)
| | так сделала команда разработчиков :) Изначально на такую сортировку не обратили внимания, но сейчас накопилось уже очень много информации и на редактирование всех данных уйдет много времени. нет, можно, конечно, сделать скрипт разбиения данных этого поля на два и заполнить таким образом новое поле в таблице и потом уже отлаживать сортировку... но, возможно, есть более простое решение? | |
|
|
|
|
|
|
|
для: Makseg
(12.05.2010 в 07:50)
| | разбиения данных этого поля на два
не на 2, а на 4... отдельно имя, отдельно длина, отдельно ширина, и отдельно высота
это и есть простое (и на мой взгляд единственноправильное решение)
всего то нужно скриптом пройтись один раз по базе + немного поправить добавление новых позиций
при выборке нужно всего лишь добавить CONCAT() если не охота переделывать обработку результата запроса
зато сортировать потом можно как угодно, да и выборку отдельных позиций по определенному фильтру упростит
____
так там еще и целая команда трудилась.... не смотря на мой безграничный альтруизм, руки им по отрывать и засунуть в то место откуда по идее они должны были у них расти | |
|
|
|
|
|
|
|
для: Valick
(12.05.2010 в 13:37)
| | Спасибо за совет. Я что-то такое уже и думал примерно. Буду делать.
_______________________________
А команде я бы тоже руки поотрывал и не только за эту недоработку, но это уже другая история... | |
|
|
|