Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.11.28;
Скачать: CL | DM;

Вниз

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

 
Uran   (2004-11-03 12:56) [0]

Есть таблица Interbase, по полю Field нужно организовать сортировку по следующему условию:
Сначала выводятся строки с пустыми значениями, затем значени, содержащие в первой позиции символ «#» , затем "*", "-" и вконце все остальные.
Union не помагает . Подскажите что тут можно придумать.
Заранее благодарен.


 
Reindeer Moss Eater ©   (2004-11-03 13:00) [1]

Поможет функция, возвращающая нужный "вес" этих символов


 
Johnmen ©   (2004-11-03 13:03) [2]

IS NULL, LIKE "#%" и т.п.
UNION ALL


 
Reindeer Moss Eater ©   (2004-11-03 13:06) [3]

Скорее всего результирующий набор у UNION ALL все равно будет отсортирован по PK если не указывать ORDER BY


 
Uran   (2004-11-03 13:07) [4]

с union пробовал (UKAZAT -  процедура)
select * from UKAZAT  ( 465 ) where obzn is null
union
select * from UKAZAT  ( 465 ) where obzn like "#%"
union
select * from UKAZAT  ( 465 ) where obzn like "*%"
union
select * from UKAZAT  ( 465 ) where obzn like "-%"
union
select * from UKAZAT  ( 465 ) where obzn not like "*%" and obzn not like " %" and obzn not like "#%"

не получается .. с # все равно после * получается!


 
Reindeer Moss Eater ©   (2004-11-03 13:08) [5]

Все верно.


 
Johnmen ©   (2004-11-03 13:11) [6]

>Reindeer Moss Eater ©   (03.11.04 13:06) [3]

Не будет :)


 
}|{yk ©   (2004-11-03 13:12) [7]

Написать свой collate


 
Uran   (2004-11-03 13:13) [8]

если не трудно , расскажи поподробнее насчет collate!?


 
Reindeer Moss Eater ©   (2004-11-03 13:14) [9]

Я когда-то давно тоже думал, что в результате UNION без ORDER BY получается "этажерка" наборов данных получаемых отдельными его частями.
Прямо в том порядке, в каком составлен union.

Так что будет.


 
Наталия ©   (2004-11-03 13:16) [10]

Uran, ты используй не UNION, а UNION ALL - тебе же еще во [2] про это сказали...


 
Johnmen ©   (2004-11-03 13:16) [11]

>Reindeer Moss Eater ©   (03.11.04 13:14) [9]

UNION - автоматом сортирует результат.
UNION ALL - в порядке селектов.

Не будет.


 
}|{yk ©   (2004-11-03 13:16) [12]

Посмотри в исходниках, как сделано например WIN1251_UA - его добавили, чтобы украинские буквы І, Є,Ї шли в алфавитном порядке при сортировке.


 
Uran   (2004-11-03 13:16) [13]

ничего не понял ... думал ... получится ....  не получится ..
по сути кто нибудь может чего нибудь посоветовать!?


 
Наталия ©   (2004-11-03 13:17) [14]

Reindeer Moss Eater ©   (03.11.04 13:14) [9]
Если UNION - то будет, а если UNION ALL - то не будет :))


 
}|{yk ©   (2004-11-03 13:17) [15]

Хотя у тебя IB 5.x, там исходников нет...


 
Наталия ©   (2004-11-03 13:18) [16]

Uran   (03.11.04 13:16) [13]
а читать ты вообще умеешь? :))


 
Johnmen ©   (2004-11-03 13:18) [17]

>Uran

"Не тормози, сникерсни" (c)


 
Uran   (2004-11-03 13:21) [18]

//Наталия
я описал свою выборку с union  не работает .. ты утверждаешь обратное ...
если не трудно , скажи где я ошибаюсь


 
Uran   (2004-11-03 13:24) [19]

заработал ... действительно тормозил я .. каюсь! :)



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

Текущий архив: 2004.11.28;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.042 c
1-1100499538
V'ent
2004-11-15 09:18
2004.11.28
Как прочитать и записать файл побайтно и при этом видеть ход!


3-1099136559
Black
2004-10-30 15:42
2004.11.28
Проверка элемента базы на пустоту


1-1100284015
Robin Hood
2004-11-12 21:26
2004.11.28
Как мне из строки достать название формы или кнопки для использов


3-1098267203
GanibalLector
2004-10-20 14:13
2004.11.28
решение проблемы обрыва коннекта в IBX


4-1097946522
Viper
2004-10-16 21:08
2004.11.28
Мышь