Hallo Robert,

Am 15.01.2010 21:10, schrieb Robert Großkopf:
Hallo Thomas,
eine scheinbar einfache Aufgabe hat mich heute genervt. Aus folgender
kleinen Tabelle in Base:

PLZ    Region Filiale Kunden
11111       R1              F1                5
22222       R1              F2                6
33333       R1              F1                7
44444       R1              F1                4
55555       R1              F2                8

war zu ermitteln, welche Filiale bei welcher PLZ die meisten Kunden hat
Das ist nur in 2 Schritten lösbar, da so etwas wie "Max" nur zusammen mit
einer Gruppierung erreicht werden kann. Da es um die maximale Kundenzahl in
Abhängigkeit von der Filiale geht gehört die Filiale gruppiert und die
maximale Kundenzahl als Max(Kunden) dazu.

Aus dieser Abfrage machst Du eine Ansicht. Darauf kannst Du dann wie auf eine
neue Tabelle zugreifen. Jetzt wird die Ursprungstabelle und die neue
Ansichtstabelle über die Filialen und die Max(Kunden) miteinander verknüpft
und Du erhältst die Abfragemöglichkeit auf den Rest des Datensatzes.

Also
SELECT "Filiale", MAX( "Kunden" ) AS "maxKunden" FROM "Filiale" GROUP BY
"Filiale"
Daraus dann einen View machen und
SELECT "Filiale"."PLZ", "Filiale"."Filiale", "Filiale"."Kunden" FROM "Filiale"
, "Ansicht_MaxKunden" WHERE "Filiale"."Filiale" =
"Ansicht_MaxKunden"."Filiale" AND "Filiale"."Kunden" =
"Ansicht_MaxKunden"."maxKunden"

Danke für die schnelle Antwort, das geht so wunderbar. Allerdings frage ich mich jetzt, warum ich (in der Firma) nicht selbst darauf gekommen bin. Das lag wohl an der größeren Komplexität, wodurch der Überblick nicht mehr so einfach war und außerdem war da ein gewisser Zeitdruck...

Ahoi

Thomas

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Antwort per Email an