Nie ma sensu dołączanie kolumn, które nie są częścią klauzuli GROUP BY. Zastanów się, czy masz MIN(X), MAX(Y) w klauzuli SELECT, z którego wiersza powinny pochodzić inne kolumny (niezgrupowane)?
Jeśli twoja wersja Oracle jest wystarczająco aktualna, możesz użyć SUM - OVER(), aby wyświetlić SUM (pogrupowane) w każdym wierszu danych.
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
Alternatywnie, musisz utworzyć agregację z Site
, Desk
kolumny
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