Thema: Delphi Top bei Union Abfrage

Einzelnen Beitrag anzeigen

PASST

Registriert seit: 30. Mär 2005
Ort: Krefeld
325 Beiträge
 
Delphi 7 Enterprise
 
#1

Top bei Union Abfrage

  Alt 2. Apr 2009, 16:28
Datenbank: ADS • Version: 9.1 • Zugriff über: TADS
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
  Mit Zitat antworten Zitat