Няма смисъл да включвате колони, които не са част от клаузата GROUP BY. Помислете дали имате MIN(X), MAX(Y) в клаузата SELECT, от кой ред трябва да идват другите колони (не групирани)?
Ако вашата версия на Oracle е достатъчно нова, можете да използвате SUM - OVER(), за да покажете SUM (групирана) спрямо всеки ред с данни.
SELECT
IMPORTID,Site,Desk,Region,RefObligor,
SUM(NOTIONAL) OVER(PARTITION BY IMPORTID, Region,RefObligor) AS SUM_NOTIONAL
From
Positions
Where
ID = :importID
Order BY
IMPORTID,Region,Site,Desk,RefObligor
Като алтернатива, трябва да направите агрегат от Site
, Desk
колони
SELECT
IMPORTID,Region,Min(Site) Site, Min(Desk) Desk,RefObligor,SUM(NOTIONAL) AS SUM_NOTIONAL
From
Positions
Where
ID = :importID
GROUP BY
IMPORTID, Region,RefObligor
Order BY
IMPORTID, Region,Min(Site),Min(Desk),RefObligor