Zitat Zitat von Fuerchau Beitrag anzeigen
Das Problem hier ist eher die 2-stufige Sortierung.

Hierfür musst du ein temporäres Zwischenergebnis erstellen, dass du dann für die Sortierung wieder verknüpfst:

with
xGroupSum as (
select kunde, sum(Umsatz) as GUmsatz
from MyFile
group by Kunde)

select a.Kunde, Artikel, min(GUmsatz) as GUmsatz, sum(Umsatz) as AUmsatz A
from myfile inner join xGroupSum B on a.Kunde=B.Kunde
group by Kunde, Artikel
order by GUmsatz, AUmsatz, Kunde

Je nach Schachtelungstiefe benötigst du entsprechend viele Zwischenergebnisse und Verknüpfungen.

Performance ?
Naja, das muss man ausprobieren.
Vielen Dank für den Lösungsansatz.

Da die Schachtelungstiefe > 30 sein kann, habe ich mich für
eine "abgespeckte" Version entschieden bei der der Benutzer die Sortierstufe vorgibt. Nur diese wird dann verwendet und angezeigt.

Gruß Joe