Einzelnen Beitrag anzeigen
Alt 25.10.2004, 16:06   #6
Shadow
Master
 
Registriert seit: 19.04.2000
Beiträge: 541


Standard

Ich kenne nur einen Weg das zu lösen. Der ist zwar relativ einfach zu verstehen, man braucht aber 2 Abfragen dafür:

Abfrage1:
Code:
SELECT [Tabelle1].[Land] AS MaxLand, Max([Tabelle1].[zum Handy]) AS MaxHandy
FROM Tabelle1
GROUP BY [Tabelle1].[Land];
Hier wird nach Land gruppiert der Max-Wert von "zum Handy" aufgelistet.

Nun noch eine zweite Abfrage die das Ergebnis der Abfrage1 einfach mit der "Tabelle1" verknüpft (MaxLand -> Land , MaxHandy -> zum Handy).

Fertig.

Es würde auch mit einer Unterabfrage innerhalb der Abfrage gehen, aber das ist komplizierter zu erklären und verstehen.
Das sieht dann so aus:
Code:
SELECT *
FROM Tabelle1
WHERE (Tabelle1.[zum Handy] In (SELECT Max([Tabelle1].[zum Handy]) 
AS MaxHandy FROM Tabelle1 GROUP BY [Tabelle1].[Land] HAVING Land = Tabelle1.Land; ));
Achtung: bei mehreren gleichen Werten in "zum Handy" werden mehrere Datensätze je Land angezeigt.
Shadow ist offline   Mit Zitat antworten