powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Переход с FB 10 на FB1 5
24 сообщений из 49, страница 2 из 2
Переход с FB 10 на FB1 5
    #32666361
ova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да я уже в ReleasNotes прочитал. Однако, order by <номер столбца> - катит, а по имени столбца - не катит.
...
Рейтинг: 0 / 0
Переход с FB 10 на FB1 5
    #32666373
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ovaДа я уже в ReleasNotes прочитал. Однако, order by <номер столбца> - катит, а по имени столбца - не катит.Он же тебе аглицким языком говорит: низззя указывать в агрегирующем запросе в ORDER BY поле, отсутствующее в GROUP BY.
Запрос покажи.
...
Рейтинг: 0 / 0
Переход с FB 10 на FB1 5
    #32666382
ova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну типа так -
это не работает
select min(Summa) Summa1,Dat from table1
group by Dat
order by Summa1

А вот так работает

select min(Summa) Summa1,Dat from table1
group by Dat
order by 1
...
Рейтинг: 0 / 0
Переход с FB 10 на FB1 5
    #32666399
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ovaНу типа так -
это не работает
Код: plaintext
1.
2.
select min(Summa) Summa1,Dat from table1
group by Dat
order by Summa1
Хочешь сказать, что ЭТО работало в 1.0 ?!
...
Рейтинг: 0 / 0
Переход с FB 10 на FB1 5
    #32666420
ova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
РАботало с
Order by Summa
...
Рейтинг: 0 / 0
Переход с FB 10 на FB1 5
    #32666432
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ovaРАботало с
Order by SummaИ как оно по твоему должно было сортировать???
...
Рейтинг: 0 / 0
Переход с FB 10 на FB1 5
    #32666447
ova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уводишь вопрос в сторону. Вопрос был - почему по имени не сортирует, а по номеру столбца сортирует. У меня просто запрос был намного сложнее, но принцип остается приведенный выше.
...
Рейтинг: 0 / 0
Переход с FB 10 на FB1 5
    #32666464
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ovaУводишь вопрос в сторону.Отнюдь. Не увожу, но посылаю. И не в сторону.
Повторяю. Запрос этот - рахитный.
То, что сервер на такой запрос ругается - это правильно .
...
Рейтинг: 0 / 0
Переход с FB 10 на FB1 5
    #32666473
ova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати все это работало изначально в InterBase 6.5 - че и там баг был?
Вообще странно, как хочу - так и сортирую, ответственность за результат на мне будет висеть. ЗАпрос сложный со множеством объединений таблиц, и сортировка там очень нужна - это чего дополнять фиктивными полями в Group by чтобы это все работало.
...
Рейтинг: 0 / 0
Переход с FB 10 на FB1 5
    #32666480
ova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий ovaУводишь вопрос в сторону.Отнюдь. Не увожу, но посылаю. И не в сторону.
Повторяю. Запрос этот - рахитный.
То, что сервер на такой запрос ругается - это правильно .

Это кажется форум, в котором на вопросы отвечают, а не посылают.

И все же - если сортировка по номеру столбца катит - то это тоже можно считать багом данной версии.
...
Рейтинг: 0 / 0
Переход с FB 10 на FB1 5
    #32666482
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ovaКстати все это работало изначально в InterBase 6.5 - че и там баг был?У InterBase 6.Х багов - как у Жучки блох!
ovaВообще странно, как хочу - так и сортируюБог - помощь.
Не видя твоего реального запроса, ничем помочь не могу.
...
Рейтинг: 0 / 0
Переход с FB 10 на FB1 5
    #32666510
ova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Могу и задачу полностью привести. Есть таблица контрактов, таблица клиентов. Вот я хочу получить агрегатные данные (сумму) по полю1 из таблицы контрактов, а результат чтобы был отсортирован по имени клиента (имя клиента - в таблице клиентов). Хочу сделать так

select sum(C.SUMMA) sum1,K.NAm_Klient from
Contr C right join Klient K On C.ID_KLIENT=K.ID_KLIENT
group by C.ID_KLIENT
order by K.NAM_KLIENT

Чего разве кривая задача. Может я конечно чего то и неправильно делаю - покажите тогда запрос как кужно
...
Рейтинг: 0 / 0
Переход с FB 10 на FB1 5
    #32666544
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ova
Код: plaintext
1.
2.
select sum(C.SUMMA) sum1,K.NAm_Klient from
Contr C right join Klient K On C.ID_KLIENT=K.ID_KLIENT
group by C.ID_KLIENT
Такой запрос не должен работать даже без ORDER BY .
Invalid expression in the select list
(not contained in either an aggregate function or the GROUP BY clause).
...
Рейтинг: 0 / 0
Переход с FB 10 на FB1 5
    #32666574
ova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А так?

select sum(C.SUMMA) sum1,min(K.NAm_Klient) klient1 from
Contr C right join Klient K On C.ID_KLIENT=K.ID_KLIENT
group by K.ID_KLIENT
order by K.NAM_KLIENT

Кстати, лично по моему мнению, лучше чтобы работало и как в предыдущем запросе. Я же группирую по ключевому полю ID_KLIENT, почему я не могу имя клиента получить?
...
Рейтинг: 0 / 0
Переход с FB 10 на FB1 5
    #32666595
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ovaВопрос был - почему по имени не сортирует, а по номеру столбца сортирует.

Ты сортируешь не по имени столбца, а по его алиасу. Что никто не обещал.
...
Рейтинг: 0 / 0
Переход с FB 10 на FB1 5
    #32666616
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ovaКстати, лично по моему мнению, лучше чтобы работало и как в предыдущем запросе. Я же группирую по ключевому полю ID_KLIENT, почему я не могу имя клиента получить?Читай книжки.
Ибо твои вопросы выглядят, мягко говоря, наивными.
Какие идеологические убеждения мешают тебе добавить ID_KLIENT в выборку?
Код: plaintext
1.
2.
3.
4.
5.
SELECT K.NAM_KLIENT,
       SUM(C.SUMMA),
       K.ID_KLIENT
FROM Klient K LEFT JOIN Contr C ON C.ID_KLIENT=K.ID_KLIENT
GROUP BY K.ID_KLIENT, K.NAM_KLIENT
ORDER BY K.NAM_KLIENT
...
Рейтинг: 0 / 0
Переход с FB 10 на FB1 5
    #32666653
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ovaКстати все это работало изначально в InterBase 6.5 - че и там баг был?

Этот баг есть и в InterBase 7.1 SP2.

ovaВообще странно, как хочу - так и сортирую, ответственность за результат на мне будет висеть. ЗАпрос сложный со множеством объединений таблиц, и сортировка там очень нужна - это чего дополнять фиктивными полями в Group by чтобы это все работало.

То, что сортировка выполняется после группировки, понимаешь? И что после выдачи группировкой набора "A, SUM(B)" сортировать по "C" уже как-то не получается? И что даже если сервер сам за тебя допишет "A, SUM(B), C", то какой именно "C" из всех возможных относится к данной группе "A" никто тебе не скажет? В общем, бред получается. А если хочешь группировать именно по "A, C", то так серверу и скажи в GROUP BY.
...
Рейтинг: 0 / 0
Переход с FB 10 на FB1 5
    #32666707
ova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну я так и делаю, все как описали. Просто хотелось в принципе посмотреть почему, если есть в выборке поле с алиасом Sum1, почему я не могу сделать ORDER BY Sum1.
...
Рейтинг: 0 / 0
Переход с FB 10 на FB1 5
    #32666723
ova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий ovaКстати, лично по моему мнению, лучше чтобы работало и как в предыдущем запросе. Я же группирую по ключевому полю ID_KLIENT, почему я не могу имя клиента получить?Читай книжки.
Ибо твои вопросы выглядят, мягко говоря, наивными.
Какие идеологические убеждения мешают тебе добавить ID_KLIENT в выборку?
Код: plaintext
1.
2.
3.
4.
5.
SELECT K.NAM_KLIENT,
       SUM(C.SUMMA),
       K.ID_KLIENT
FROM Klient K LEFT JOIN Contr C ON C.ID_KLIENT=K.ID_KLIENT
GROUP BY K.ID_KLIENT, K.NAM_KLIENT
ORDER BY K.NAM_KLIENT


Именно так я и делаю. Вот на такую подстановку в группировке я и говорю - "фиктивные" поля. Т.е. смысла нет делать группировку по двум полям, если каждому ID_KLIENT соответствует единственное значение в NAM_KLIENT (тут еще вопрос- наверное и время запроса еще увеличивается?)
...
Рейтинг: 0 / 0
Переход с FB 10 на FB1 5
    #32666811
ova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хватит полемики, все уже сделал.
Вообще изначально вопрос был - почему перестало работать при переходе с FB1.0 на FB1.5. Вот и ответ - потому что часть вещей "исправлено" - потому и перестало работать, и невсегда безболезненно осуществляется переход путем бэкапа и восстановления базы
...
Рейтинг: 0 / 0
Переход с FB 10 на FB1 5
    #32666819
ova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий ovaДа я уже в ReleasNotes прочитал. Однако, order by <номер столбца> - катит, а по имени столбца - не катит.Он же тебе аглицким языком говорит: низззя указывать в агрегирующем запросе в ORDER BY поле, отсутствующее в GROUP BY.
Запрос покажи.

Кстати, сделал я путем указания в сортировке поля по номеру, а по имени так и не работает.
...
Рейтинг: 0 / 0
Переход с FB 10 на FB1 5
    #32666820
Dik76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так и не используй "фиктивные" если уникальность наименований гарантирована:

Код: plaintext
1.
2.
3.
SELECT KLIENT.NAM_KLIENT, SUM(CONTR.SUMMA)
FROM KLIENT LEFT JOIN CONTR ON KLIENT.ID_KLIENT = CONTR.ID_KLIENT
GROUP BY KLIENT.NAM_KLIENT
ORDER BY KLIENT.NAM_KLIENT
...
Рейтинг: 0 / 0
Переход с FB 10 на FB1 5
    #32666962
ova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И в MS SQL сортировка работает нормально - тоже баг?
...
Рейтинг: 0 / 0
Переход с FB 10 на FB1 5
    #32666973
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ovaИ в MS SQL сортировка работает нормально - тоже баг?Вот этот твой горбатый запрос работать НЕ ДОЛЖЕН !
Код: plaintext
1.
2.
3.
select sum(C.SUMMA) sum1,K.NAm_Klient from
Contr C right join Klient K On C.ID_KLIENT=K.ID_KLIENT
group by C.ID_KLIENT
order by K.NAM_KLIENT
...
Рейтинг: 0 / 0
24 сообщений из 49, страница 2 из 2
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Переход с FB 10 на FB1 5
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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