Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Проблемы с сортировкой / 7 сообщений из 7, страница 1 из 1
19.08.2003, 13:10
    #32240166
BorisM
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с сортировкой
Запрос типа:

select *
from StoreOperationDetail sod,
Material m LEFT JOIN MaterialType mt ON m.MaterialTypeID=mt.ID
where sod.MaterialID=m.ID and
sod.StoreOperationID=:StoreOperationID
order by sod.id

Вместо сортировки по ID выдает записи в отфонарном порядке:

ID STOREOPERATIONID MATERIALID QUANTITY COST
81 42 55 0 3
89 42 55 1 5
83 42 78 0 0
87 42 78 5 10
...
Рейтинг: 0 / 0
19.08.2003, 13:32
    #32240227
Fighter
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с сортировкой
Пропиши нужные поля в select-е. Я смотрю у тебя в таблице Material и MaterialType есть поле ID, а связка выполняется по m.MaterialTypeID=mt.ID, от сюда можно сделать вывод, что m.MaterialTypeID<>m.ID иначе нет смысла держать 2 одинаковых поля, то есть в результате m.ID<>mt.ID (что попадёт в результат знает только Бог).
...
Рейтинг: 0 / 0
19.08.2003, 13:36
    #32240236
BorisM
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с сортировкой
Пробывал прописать поля в select не помогает

Сработал следующий подход:
order by sod.id, m.ID, mt.ID - т.е. добавил в Order by незначащие поля и все заработало

Кто объяснит такой эффект???
...
Рейтинг: 0 / 0
19.08.2003, 13:42
    #32240255
Johnmen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с сортировкой
>BorisM
>Кто объяснит такой эффект???

Баг.
...
Рейтинг: 0 / 0
20.08.2003, 04:19
    #32240981
Fighter
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с сортировкой
Приведи свой результирующий запрос
...
Рейтинг: 0 / 0
20.08.2003, 05:07
    #32240988
StarWind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с сортировкой
явно бак... поле в селекте не обязано быть, если оно есть в order.... тем паче что указаны алиасы таблиц...
...
Рейтинг: 0 / 0
20.08.2003, 09:35
    #32241152
Denis Uskov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с сортировкой
select *
from StoreOperationDetail sod,
Material m LEFT JOIN MaterialType mt ON m.MaterialTypeID=mt.ID
where sod.MaterialID=m.ID and
sod.StoreOperationID=:StoreOperationID
order by sod.id

Что за прикольный запрос? Часть таблиц связывается в JOIN часть в WHERE
мож все по нормальному сделать?

select ... from
(StoreOperationDetail sod INNER JOIN Material m ON sod.MaterialID=m.ID)
LEFT JOIN MaterialType mt ON m.MaterialTypeID=mt.ID
where sod.StoreOperationID=:StoreOperationID
order by sod.id
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Проблемы с сортировкой / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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