Hallo allerseits,
ich benötige Hilfestellung zu einer Abfrage mit TOP im Zusammenhang mit UNION.
Zum Bsp suche ich zu jedem Land jeweils die Top 10 Kunden.
SQL-Code:
select top 10 land, kunde, sum(umsatz)
from auswertung
where land = 'Deutschland'
group by kunde
order by sum(umsatz) DESC
Durch "umsatz DESC" erreiche ich, dass die umsatzstärksten Kunden angezeigt werden.
Versuche ich jetzt die Top10-Kunden verschiedener Länder zusammenzufügen, klappt das nicht
SQL-Code:
select top 10 land, kunde, sum(umsatz)
from auswertung
where land = 'Deutschland'
group by kunde
union
select top 10 land, kunde, sum(umsatz)
from auswertung
where land = 'Niederlande'
group by kunde
union
select top 10 land, kunde, sum(umsatz)
from auswertung
where land = 'Belgien'
group by kunde
order by land, umsatz DESC
In diesem Fall werden nicht die umsatzstärksten sondern die umsatzschwächsten Kunden des jeweiligen Landes angezeigt. Der Kompiler akzeptiert auch nicht, dass "order by" nicht hinter jede Einzelabfrage gestellt wird.
Hat jemand eine Idee wie ich diese Abfrage erfolgreich zusammenbasteln kann?
Gruß
Peter