![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сортировка и SQL [D7, MSSQL]
ziArt © (2009-07-14 13:01:00)База MS SQL 2000
Delphi 2006
Компоненты Ado табл и квери
выполняю запрос
SELECT *
FROM tbZava, tbFak
WHERE tbZava.idFak*=tbFak.idFak
ORDER by vcKOdOsSprav
как результат
6Б-1
6Б-10
6Б-11
...
6Б-19
6Б-2
6Б-20
что сделать что бы нормально шло после сортировки
6Б-1
6Б-2
....
6Б-10
6Б-11
...
6Б-19
6Б-20
ziArt (2009-07-15 10:42:00) [1]Проблема в том что первіх символов может быть и не 2 но структура
6Х-число, где Х может догодить до 4 симоволов
сохраняется.
общую идею я понял, спасибо, будем пробовать
sniknik (2009-07-14 13:33:00) [2]а вообще поле бы разбить на 2, строковое и числовое, тогда избежишь проблем типа ввода туда чего то нестандартного.
ну или формировать номер как для документов обычно, с фикстрованной длинной поля и дополнением нулями, типа
6Б-000001
6Б-000002
....
6Б-000010
6Б-000011
сортировалось бы как желается.
sniknik (2009-07-14 13:26:00) [3]ну если все только так как написано, а не [2]
то написать
ORDER by Left(vcKOdOsSprav, 2), Cast(SUBSTRING (vcKOdOsSprav, 4, 10) AS Int)
причем первая часть с Left в сортировке именно для приведенных данных лишняя.
Anatoly Podgoretsky (2009-07-14 13:11:00) [4]where и вот здесь или многоэтажная функция или капут.
И с чего ты решил, что 6Б-1 это число, а что ты будешь делать для 6B-1a/b17 и 1B и 11Б
Виталий Панасенко(дом) (2009-07-14 13:06:00) [5]а это и есть нормально.. учи, что такое код символа и какие коды каким символам соответствуют, тогда поймешь