powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / group by ошибка
12 сообщений из 12, страница 1 из 1
group by ошибка
    #38689697
Ralno
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, помогите понять в чем ошибка
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
SELECT rar."AmountRestID" as id, rar."Date", rar."DocTypeID", rar."PartnerID",  amount."Name" as amount,sum(rar."Rest"),
dcp."PartnersGrpID", dcp."Name" AS dcpName
FROM "rgAmountRests" rAR 
LEFT JOIN "dcPartners" dcP ON(rAR."PartnerID"=dcP."PartnerID") 
left join "dcCards" dc ON(dc."CardID"=rar."CardID") 
left join "dcAmounts" amount ON(amount."AmountID"=rar."AmountID")
WHERE (rar."DocTypeID"='5' or rar."DocTypeID"='6')
group by rar."PartnerID", amount."Name"



и даже если я хочу полностью сумму поля по всем строкам, то есть без группировки также выдает следующее
Error: *** IBPP::SQLException ***
Context: Statement::Prepare( SELECT rar."AmountRestID" as id, rar."Date", rar."DocTypeID", rar."PartnerID", amount."Name" as amount,sum(rar."Rest"),
dcp."PartnersGrpID", dcp."Name" AS dcpNAme
FROM "rgAmountRests" rAR
LEFT JOIN "dcPartners" dcP ON(rAR."PartnerID"=dcP."PartnerID")
left join "dcCards" dc ON(dc."CardID"=rar."CardID")
left join "dcAmounts" amount ON(amount."AmountID"=rar."AmountID")
WHERE (rar."DocTypeID"='5' or rar."DocTypeID"='6')
group by rar."PartnerID", amount."Name" )
Message: isc_dsql_prepare failed

SQL Message : -104
Invalid token

Engine Code : 335544569
Engine Message :
Dynamic SQL Error
SQL error code = -104
Invalid expression in the select list (not contained in either an aggregate function or the GROUP BY clause)

как я понимаю он ФБ ругается на отсутствие поля группировки?
...
Рейтинг: 0 / 0
group by ошибка
    #38689704
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ralno> Invalid expression in the select list (not contained in either an aggregate function or the GROUP BY clause)

Гуглить по тексту этой ошибки не пробовал?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
group by ошибка
    #38689843
Фотография roadster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
group by ошибка
    #38690147
Ralno
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 roadster
Спасибо, повторение мать учения но тут как я понял в перекрестном запросе засада с одной таблице все работает,
как только участвует поле из другой таблице в запросе сразу все ошибка
Гаджимурадов Рустам Гуглить по тексту этой ошибки не пробовал?
Конечно пробовал, в ответ получил много интересного на многих языках
да и по форум искал и конкретно такой проблемы не нашел
...
Рейтинг: 0 / 0
group by ошибка
    #38690207
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ralno,

Рустам неверно выразился. Необходимо было начать с перевода текста ошибки.
...
Рейтинг: 0 / 0
group by ошибка
    #38690271
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ralnoда и по форум искал и конкретно такой проблемы не нашел
кривой запрос - это исключительно проблема написавшего такой запрос :-)
есть два варианта ответа
1. ошибочно написан group by вместо order by. Т.е. указана группировка вместо сортировки
2. group by пишется так:

select field1, field2, aggrfunc(...)
group by field1, field2

то есть, группировать можно только по всем полям (а не по части) которые идут в select до агрегатной функции. Любая попытка написать в данном select
group by field1
group by field3
и т.п. выдаст именно эту ошибку.
...
Рейтинг: 0 / 0
group by ошибка
    #38690273
Фотография roadster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvгруппировать можно только по всем полям (а не по части) которые идут в select до агрегатной функции.а ещё и после и даже по тем которых нет на выходе :)
...
Рейтинг: 0 / 0
group by ошибка
    #38690317
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
group by ошибка
    #38690519
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отчего же неверно, необязательно с перевода - для этого
переводчик открывать надо или английский знать, хотя
достаточно погуглить по тексту и обнаружить кучу таких
же вопросов с ответами типа "используй group by по всем
неагрегируемым полям, Люк!".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
group by ошибка
    #38690525
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам,

Когда лень, можно общий совет давать - читай SQL!
...
Рейтинг: 0 / 0
group by ошибка
    #38690545
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда уж "читай SQL.RU".
Или "читай книжки, доку".
Или "в поиск по форуму".
Или - что проще - "в гугл".
Что, собсно, я и сделал.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
group by ошибка
    #38690785
Ralno
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо, таким как я новичкам посоветую не переделывать имеющийся запрос, а писать с нуля что хотим откуда взять и как можно меньше лишнего, group by очень чувствителен к повторяющимся полям и их надо указывать, по факту лишние поля в запросе по которым group и путался
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / group by ошибка
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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