Вниз
Скачать: 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
10-1170009942
makaronX
2007-01-28 21:45
2010.11.14
разметить страницу в Excel


2-1281707135
PavDimka
2010-08-13 17:45
2010.11.14
Передача данных через интернет


15-1280704083
Германн
2010-08-02 03:08
2010.11.14
Win 7. №2


15-1280992834
Polkin
2010-08-05 11:20
2010.11.14
MySQL Server has gone away


15-1280481190
ocean
2010-07-30 13:13
2010.11.14
Посоветуйте платный хостинг с .Net 2




   Наверх