Вниз
Скачать: CL | DM;

Сортировка и SQL   Найти похожие ветки 

← →
ziArt   (2009-07-14 13:01) [0]

База 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


← →
Виталий Панасенко(дом)   (2009-07-14 13:06) [1]

а это и есть нормально.. учи, что такое код символа и какие коды каким символам соответствуют, тогда поймешь


← →
Anatoly Podgoretsky ©   (2009-07-14 13:11) [2]

where и вот здесь или многоэтажная функция или капут.
И с чего ты решил, что 6Б-1 это число, а что ты будешь делать для 6B-1a/b17 и 1B и 11Б


← →
sniknik ©   (2009-07-14 13:26) [3]

ну если все только так как написано, а не [2]
то написать
ORDER by Left(vcKOdOsSprav, 2), Cast(SUBSTRING (vcKOdOsSprav, 4, 10) AS Int)

причем первая часть с Left в сортировке именно для приведенных данных лишняя.


← →
sniknik ©   (2009-07-14 13:33) [4]

а вообще поле бы разбить на 2, строковое и числовое, тогда избежишь проблем типа ввода туда чего то нестандартного.
ну или формировать номер как для документов обычно, с фикстрованной длинной поля и дополнением нулями, типа
6Б-000001
6Б-000002
....
6Б-000010
6Б-000011
сортировалось бы как желается.


← →
ziArt   (2009-07-15 10:42) [5]

Проблема в том что первіх символов может быть и не 2 но структура
6Х-число, где Х может догодить до 4 симоволов
сохраняется.
общую идею я понял, спасибо, будем пробовать



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.005 c
15-1280779554
Petr V. Abramov
2010-08-03 00:05
2010.11.14
кто какими погодными сайтами пользуется?


2-1282080138
подмастерье
2010-08-18 01:22
2010.11.14
Изменение свойств формы


2-1282022380
12
2010-08-17 09:19
2010.11.14
Как писать запросы к таблицам dbf


15-1280483751
KilkennyCat
2010-07-30 13:55
2010.11.14
DrawText в 2010


15-1281040197
Юрий
2010-08-06 00:29
2010.11.14
С днем рождения ! 6 августа 2010 пятница




   Наверх