Главная страница
    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.038 c
8-1093947884
ExpertTech
2004-08-31 14:24
2004.11.28
Как в гриде границу ячейки нарисовать толще?


1-1100255352
П7
2004-11-12 13:29
2004.11.28
Помогите портировать с С++ на Delphi


6-1095849884
Cherepovets
2004-09-22 14:44
2004.11.28
Организация копирование по сети


6-1095342619
kukuikar
2004-09-16 17:50
2004.11.28
Определяю IP


3-1098930931
SDA
2004-10-28 06:35
2004.11.28
Как красиво удалить #tmp таблицу???!!!





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский