Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.11.28;
Скачать: [xml.tar.bz2];

Вниз

Сортировка в 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.036 c
14-1099952659
Lancelot
2004-11-09 01:24
2004.11.28
Почитать :)


1-1100116011
Neiron
2004-11-10 22:46
2004.11.28
Пакер для Portable Executable на Delphi


1-1100276038
Petia
2004-11-12 19:13
2004.11.28
Форма


4-1092111253
Stype
2004-08-10 08:14
2004.11.28
Программа общения с COM портом


14-1100172167
Ega23
2004-11-11 14:22
2004.11.28
Я вернулся.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский