2014-01-07 1 views
0

Я хочу, чтобы запрос на таблице содержал несколько полей как аргумент. Таким образом, я использую группу по полям для разных. BUt HANA выдает ошибку: Not A Group По выражениюНе группа по выражению: error

select "REFID", "ORGID_WE", "ARTIKLE", "ORGID", "HELLER", "WERT", "BZBAS_AW" 
from "SYSTEM"."SOFT" 
GROUP BY "REFID", "ORGID_WE", "ARTIKLE", "ORGID", "HELLER" ; 

Для меня это выглядит хорошо. Есть идеи??

+0

Удален тег MySQL, потому что MySQL не генерирует эту ошибку. Я удалил тег SQL Server, потому что он также не относится к SQL Server. –

+0

Это в основном SAP HANA. Но я подумал, что любые ребята с хорошо знакомыми знаниями на SQL могут дать некоторое представление :) –

+0

Что вам не хватает в сообщении об ошибке? У вас есть столбцы 'WERT' и' BSBAS_AW' в списке 'select', но они не входят в функции агрегации (' min() ',' max() 'и т. Д.), И они не находятся в' group by '. –

ответ

1

попробовать с помощью агрегатных функций:

select "REFID", "ORGID_WE", "ARTIKLE", "ORGID", "HELLER", sum("WERT"), sum("BZBAS_AW") 
from "SYSTEM"."SOFT" 
GROUP BY "REFID", "ORGID_WE", "ARTIKLE", "ORGID", "HELLER" ; 
+0

Это работает. BUt, не могли бы вы рассказать мне, почему вы использовали сумму, чтобы просто рассказать о моем понимании! –

+1

'sum()' просто произвольно. вы также можете использовать любую агрегатную функцию. дело в том, что когда вы группируете команды «REFID», «ORGID_WE», «ARTIKLE», «ORGID», «HELLER», комбинация из них в наборе результатов становится уникальной. это может привести к дублированию «WERT» и «BZBAS_AW», которые необходимо объединить. вы можете выбрать, чтобы суммировать их, усреднять их, брать максимум или минимум, считать их. см. здесь для более подробных объяснений: http://en.wikipedia.org/wiki/Aggregate_function –

+0

Большое вам спасибо. Супер, как! –

Смежные вопросы