Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Странное поведение Order by  [new]
nb12
Guest
Доброго времени суток уважаемые.
В хранимке находится 3 выборки.
1 выборка это обработка с группированием через rollup (структура как в примере BOL, только по одному параметру, а не по двум)
2 выборка это select данных которые обрабатывались в 1 выборке
результаты 1 и 2 через union объединяются и помещаются во временную таблицу.
3 выборка это простой select всего, что есть во временной таблице, те в результате получается выборка в которой сначала идут все сгруппированные по критерию значения них промежуточное суммарное.
Проблема в том, что во 2 выборке система отказывается воспринимать Order by, отдельно пробовал и asc и desc. Такое ощущение, что сортировка идет не по полю указанному для сортировки, а по какому - то другому.
ПС В гугле и на этом форуме ничего пока не нашел...
ПС2 Заранее благодарен всем откликнувшимся
ПС3 Для флуда есть курилка+)
7 июл 09, 14:59    [7386597]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение Order by  [new]
nb12
Guest
Забыл указать
ОС Windows XP sp3
СУБД MS SQL Server 2000
7 июл 09, 15:00    [7386608]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение Order by  [new]
Glory
Member

Откуда:
Сообщений: 104760
Ощущения свои вы чем проверяете ?
7 июл 09, 15:04    [7386639]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение Order by  [new]
ветерочек
Member

Откуда: СПБ
Сообщений: 153
текст процедуры покажите
7 июл 09, 15:07    [7386661]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение Order by  [new]
nb12
Guest
Эмпирически, те отключил инсерт и все кроме 2 выборки, пробовал сортировать по другим полям, все прекрасно сортируется, а по этому полю(кстати типа int), никак не получается, те например сначала идут значения 1,1,1 а потом между ними 2.3 , дальше снова 1.1.1.1.1
7 июл 09, 15:07    [7386664]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение Order by  [new]
Glory
Member

Откуда:
Сообщений: 104760
nb12
Эмпирически, те отключил инсерт и все кроме 2 выборки, пробовал сортировать по другим полям, все прекрасно сортируется, а по этому полю(кстати типа int), никак не получается, те например сначала идут значения 1,1,1 а потом между ними 2.3 , дальше снова 1.1.1.1.1

Что то непонятно.
Вы делаете insert ... select ... order by и считаете, что в таблице insert записи должны быть в каком то порядке ?
7 июл 09, 15:09    [7386674]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение Order by  [new]
nb12
Guest
2Glory, сейчас там из того что на выполнение отправляется остался только типовой select, результат которого я пытаюсь отсортировать по целочисленному полю, не заботясь о порядке других полей, те осталось что то типо такого:
creatу table t1(a datetime, b int, c int)
insert into t1(a,b,c) values ('1-1-1,2,1)
insert into t1(a,b,c) values ('1-1-1',1,4)
insert into t1(a,b,c) values ('1-1-1',3,5)

select a,b,c from t1 
order by b desc
в итоге по любому полю сортируется а по b выводит все значение, как если бы не функции сортировки просто не было
7 июл 09, 15:22    [7386797]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение Order by  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31194
nb12
ПС3 Для флуда есть курилка+)
Ощущения относятся к флуду :-)

Какие могут быть ощущения, если на экране видно - сортировка или правильная (результат селекта на экране, правильно упорядоченный), или никакая (потому что сиквел неправильно не сортирует).
7 июл 09, 15:23    [7386804]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение Order by  [new]
Glory
Member

Откуда:
Сообщений: 104760
nb12
2Glory, сейчас там из того что на выполнение отправляется остался только типовой select, результат которого я пытаюсь отсортировать по целочисленному полю, не заботясь о порядке других полей, те осталось что то типо такого:
creatу table t1(a datetime, b int, c int)
insert into t1(a,b,c) values ('1-1-1,2,1)
insert into t1(a,b,c) values ('1-1-1',1,4)
insert into t1(a,b,c) values ('1-1-1',3,5)

select a,b,c from t1 
order by b desc
в итоге по любому полю сортируется а по b выводит все значение, как если бы не функции сортировки просто не было

В вашем примере в "а" все значения одинаковы. Как вы определяете, что сортировки не произошло то ?
7 июл 09, 15:26    [7386842]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение Order by  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31194
nb12
2Glory, сейчас там из того что на выполнение отправляется остался только типовой select, результат которого я пытаюсь отсортировать по целочисленному полю, не заботясь о порядке других полей, те осталось что то типо такого:
creatу table t1(a datetime, b int, c int)
insert into t1(a,b,c) values ('1-1-1,2,1)
insert into t1(a,b,c) values ('1-1-1',1,4)
insert into t1(a,b,c) values ('1-1-1',3,5)

select a,b,c from t1 
order by b desc
в итоге по любому полю сортируется а по b выводит все значение, как если бы не функции сортировки просто не было
Этот запрос вы выдумали, исполниться он не может.

Вы по простому - выдерите из профайлера запрос и выполните. И сюда выложите.
7 июл 09, 15:27    [7386845]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение Order by  [new]
flexgen
Member

Откуда: Город на песке
Сообщений: 765
nb12,

Выполнил приведенный скрипт, вот результат

2001-01-01 00:00:00.000 3 5
2001-01-01 00:00:00.000 2 1
2001-01-01 00:00:00.000 1 4
7 июл 09, 15:29    [7386873]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение Order by  [new]
nb12
Guest
2alexeyvg , я уже написал, что выборка сортируется по любому полю кроме указанного правильно, а в случае с указанным полем он игнорирует сортировку по убыванию те если в выборке есть значения 1,8,6 то сначала все время 1 и в середине встречаются и 6 и 8 а заканчивается 1
До этого с сортировкой проблем не было, по этому и пишу сюда, может у кого-нибудь уже встречались похожие чудеса
7 июл 09, 15:29    [7386878]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение Order by  [new]
flexgen
Member

Откуда: Город на песке
Сообщений: 765
flexgen,

Да, только ошибки убрал. ;-)
7 июл 09, 15:30    [7386882]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение Order by  [new]
nb12
Guest
запрос который я написал, тут в качестве примра того, что в процедуре сейчас происходит...
ПС заметил, что пропустил 1 апостроф в добавлении уже после публикации=(
7 июл 09, 15:31    [7386899]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение Order by  [new]
Glory
Member

Откуда:
Сообщений: 104760
nb12
запрос который я написал, тут в качестве примра того, что в процедуре сейчас происходит...
ПС заметил, что пропустил 1 апостроф в добавлении уже после публикации=(

Приведенный вами пример сотрируется правильно.
7 июл 09, 15:33    [7386914]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение Order by  [new]
flexgen
Member

Откуда: Город на песке
Сообщений: 765
nb12
запрос который я написал, тут в качестве примра того, что в процедуре сейчас происходит...

Может, код процедуры все-таки приведешь?
7 июл 09, 15:34    [7386933]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение Order by  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
nb12
2alexeyvg , я уже написал, что выборка сортируется по любому полю кроме указанного правильно, а в случае с указанным полем он игнорирует сортировку по убыванию те если в выборке есть значения 1,8,6 то сначала все время 1 и в середине встречаются и 6 и 8 а заканчивается 1
До этого с сортировкой проблем не было, по этому и пишу сюда, может у кого-нибудь уже встречались похожие чудеса


сорри конечно,но какая сортировка по убіванию для поля с одинаковіми значениями ????
7 июл 09, 15:35    [7386951]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение Order by  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
Glory
nb12
запрос который я написал, тут в качестве примра того, что в процедуре сейчас происходит...
ПС заметил, что пропустил 1 апостроф в добавлении уже после публикации=(

Приведенный вами пример сотрируется правильно.

+1 по любому из полей таблицы
7 июл 09, 15:37    [7386964]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение Order by  [new]
nb12
Guest
Код процедуры не привожу ввиду того, что он большой и нужно сначала перепечатать его с удаленного рабочего стола, а уже потом сюда...
ПС Насколько я знаю, большинство люде длинные процедуры даже смотреть не будет=(
ПС2 Файлы я копировать с того компа не могу ввиду отсутсявия прав, админа в отпуске и переслать оттуда запрос тоже никак+(
7 июл 09, 15:39    [7386994]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение Order by  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
ну тогда хотя бі ВАШ пример - рабочий с "неправильной" сортировкой.
-------------------------------------
Jedem Das Seine
7 июл 09, 15:40    [7387006]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение Order by  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31194
nb12
может у кого-нибудь уже встречались похожие чудеса
Ни в одной из версий (6.0 - 2008) с сортировкой проблем не было, хотя может и есть такая бага.

nb12
2alexeyvg , я уже написал, что выборка сортируется по любому полю кроме указанного правильно, а в случае с указанным полем он игнорирует сортировку по убыванию те если в выборке есть значения 1,8,6 то сначала все время 1 и в середине встречаются и 6 и 8 а заканчивается 1
И это поле, по которому неправильно - целое? Может, это строка, и там символ какой-нибуть непечатный? Или пробелы - "1 "
7 июл 09, 15:42    [7387024]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение Order by  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31194
nb12
Код процедуры не привожу ввиду того, что он большой и нужно сначала перепечатать его с удаленного рабочего стола, а уже потом сюда...
ПС Насколько я знаю, большинство люде длинные процедуры даже смотреть не будет=(
Не надо код процедуры, нало один запрос из профайлера.

nb12
ПС2 Файлы я копировать с того компа не могу ввиду отсутсявия прав, админа в отпуске и переслать оттуда запрос тоже никак+(
На сервере database_mail настроен? Письмом себе перешлите :-)
7 июл 09, 15:45    [7387056]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение Order by  [new]
nb12
Guest
Доброго времени суток. Причину странного поведения сортировки так и не выяснил. Решил проблему полным переписыванием процедуры...
ПС Спасибо всем откликнувшимся=)
9 июл 09, 15:35    [7397493]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить