впорос о сортировки ORDER BY

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
Sirik
Perspicaz
Perspicaz
Аватара пользователя
 
Сообщения: 2280
Зарегистрирован: 19.02.2004 (Чт) 16:09
Откуда: Бердичев, Украина

впорос о сортировки ORDER BY

Сообщение Sirik » 30.09.2006 (Сб) 8:06

организовую сортировку таким методом ORDER BY [поле1], [поле2], [поле3]

но, есть одно: цифры сортируется в таком порядке:
1
10
2
3
30

а мне хотелось бы "нормальную" сортировку? как быть?

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 30.09.2006 (Сб) 9:20

Это потому, что поле текстовое. Делай выборку этого поля так:
Код: Выделить всё
select cast(поле1 as int)
Лучший способ понять что-то самому — объяснить это другому.

Sirik
Perspicaz
Perspicaz
Аватара пользователя
 
Сообщения: 2280
Зарегистрирован: 19.02.2004 (Чт) 16:09
Откуда: Бердичев, Украина

Сообщение Sirik » 30.09.2006 (Сб) 11:11

дело в том я не силён в синтаксисе :(

ты можешь мне помощь? вот мой запрос:
SELECT * FROM [tbl_Order] WHERE [ID_Line] = " & CStr(ID_Line) ORDER BY [ID_Line], [Numberr], [Riga] ;

проблеммы с полями [Numberr] и [Riga]

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 30.09.2006 (Сб) 13:17

Access или MSSQL?
Лучший способ понять что-то самому — объяснить это другому.

Sirik
Perspicaz
Perspicaz
Аватара пользователя
 
Сообщения: 2280
Зарегистрирован: 19.02.2004 (Чт) 16:09
Откуда: Бердичев, Украина

Сообщение Sirik » 30.09.2006 (Сб) 13:22

access

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 30.09.2006 (Сб) 21:36

Код: Выделить всё
"SELECT * FROM [tbl_Order] WHERE [ID_Line] = " & ID_Line & " ORDER BY cint([Numberr]), cint([Riga])"
Сортировка по ID_Line не имеет смысла, потому что, судя по условию, у него одно значение. Да и cstr не нужно, при конкатенации конвертация происходит автоматически.
Лучший способ понять что-то самому — объяснить это другому.

Sirik
Perspicaz
Perspicaz
Аватара пользователя
 
Сообщения: 2280
Зарегистрирован: 19.02.2004 (Чт) 16:09
Откуда: Бердичев, Украина

Сообщение Sirik » 01.10.2006 (Вс) 9:52

огромное спасибо, помогло

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 01.10.2006 (Вс) 13:12

Лучше Val() использовать вместо CInt().
У меня что-то смутное вспоминается, что если попадется неподходящее значение поля, то Val вернет 0, а CInt выдаст ошибку и прекратит запрос.
Lasciate ogni speranza, voi ch'entrate.


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 2

    TopList