powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Неправильная сортировка
10 сообщений из 10, страница 1 из 1
Неправильная сортировка
    #32546715
Yaromir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот такой запрос:

select * from q_priv
WHERE UPPER(STREET)=:STREET
ORDER BY HOUSE, BUILD, QUART

где BUILD - VARCHAR(5), QUART - SMALLINT,
так вот в чем странность, должен выводить список квартир в домах в порядке возрастания, но почему то выдает странный результат, так после 72 квартиры может идти 29, если убрать поле BUILD - то сортирует правильно, но его убирать нельзя, это дома с буквами - например 21 а, почему то упорно не хочет сортировать, если перед SMALLINT полем идет VARCHAR, это глюк или что-то можно сделать? Замена поля на CHAR, равно как и использование COLLATE PXW_CYRL эффекта не дала
...
Рейтинг: 0 / 0
Неправильная сортировка
    #32546746
Фотография Johnmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пример "неправильных" полученных данных ?
...
Рейтинг: 0 / 0
Неправильная сортировка
    #32546782
Yaromir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
30 ЛЕТ ПОБЕДЫ 2 71
30 ЛЕТ ПОБЕДЫ 2 72
30 ЛЕТ ПОБЕДЫ 2 72
30 ЛЕТ ПОБЕДЫ 2 29
...
Рейтинг: 0 / 0
Неправильная сортировка
    #32546943
Фотография Johnmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А где дома ?
Приводи реальные данные, а не обрезанные.
...
Рейтинг: 0 / 0
Неправильная сортировка
    #32546992
Yaromir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
STREET HOUSE BUILD QUART
30 ЛЕТ ПОБЕДЫ 2 71
30 ЛЕТ ПОБЕДЫ 2 72
30 ЛЕТ ПОБЕДЫ 2 29
и дальше
30 ЛЕТ ПОБЕДЫ 21 а 1
30 ЛЕТ ПОБЕДЫ 21 а 2

и т.д., но квартиры не ставит в порядке увеличения, в каждом доме одна или несколько квартир выбивается из ряда, ставится последними
...
Рейтинг: 0 / 0
Неправильная сортировка
    #32547016
Лентяй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
STREET HOUSE BUILD QUART
30 ЛЕТ ПОБЕДЫ 2 71
30 ЛЕТ ПОБЕДЫ 2 72
30 ЛЕТ ПОБЕДЫ 2 29

Тут 3 поля а на четыре. Я так понимаю, что Build is null а
null == null = ХЗ
null > null = ХЗ
null < null = ХЗ

и как он из отсортирует тоже ХЗ, а уж потом по квартирам

Удачи.
...
Рейтинг: 0 / 0
Неправильная сортировка
    #32547044
Фотография Johnmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильно подмечено.
Для
30 ЛЕТ ПОБЕДЫ 2 71
30 ЛЕТ ПОБЕДЫ 2 72
поле BUILD=''
а для
30 ЛЕТ ПОБЕДЫ 2 29
поле BUILD есть NULL
...
Рейтинг: 0 / 0
Неправильная сортировка
    #32547052
Yaromir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, все верно, там где buid is null и идут траблы, но как же хранить дома без буквенных индексов тогда?
...
Рейтинг: 0 / 0
Неправильная сортировка
    #32547060
Лентяй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не разрешай хранение null в поле, при проектировании структуры без необходимости. Не будешь трахаться с трехзвенной логикой...

Удачи.
...
Рейтинг: 0 / 0
Неправильная сортировка
    #32551932
Valery Shiskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуйте
ORDER BY HOUSE, BUILD, QUART ASC NULLS FIRST

или

ORDER BY HOUSE, BUILD, QUART ASC NULLS LAST
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Неправильная сортировка
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]