Das Problem liegt darin, dass Du wirklich nur Daten in einer Zeile darstellen kannst, die auch im gleichen Datensatz vorliegen. Ursprünglich ist zwar in der Spezifikation des Report-Builders vorgesehen gewesen, dass auch in Spalten eingelesen werden kann, aber das ist wohl nie in den endgültigen Code eingeflossen.
Du musst also
Gruppe/Ort A B C D E
als Felder einer Abfrage erstellen, so wie juetho das bereits beschrieben hat.
Eine solche Abfrage wird als korrelierte Unterabfrage bezeichnet.
Deine Standardabfrage wäre
Code: Alles auswählen
SELECT COUNT(*) FROM "Adresse" WHERE "Gruppe" = 'A' AND "Ort" = 'X'
Diese Abfrage hast Du zu allen Gruppen. Setzt natürlich voraus, dass die Namen/Bezeichnungen der Gruppen vorher fest stehen.
Die Orte ermittelst Du eigentlich mit
DISTINCT, weil damit nicht laufend gleiche Ortsnamen ausgegeben werden, nur die unterschiedlichen Ortsnamen
Jetzt möchtest Du zu jedem Ort eine vorgegebene Gruppe zählen lassen:
Code: Alles auswählen
SELECT DISTINCT
"a"."Ort",
(SELECT COUNT(*) FROM "Adresse" WHERE "Gruppe" = 'A' AND "Ort" = "a"."Ort") AS "Gruppe_A"
FROM "Adresse" AS "a"
Damit nutzt Du den in der Hauptabfrage auftauchenden Wert von "Ort" für die Unterabfrage nach der Anzahl der Gruppe A. Den Zugang dazu verschafft Dir der Alsias "a" für die Tabelle "Adresse" in der Hauptabfrage.
Die Unterabfrage brauchst Du jetzt nur zu kopieren und einzufügen, dann jede Gruppe entsprechend durch Änderung von "Gruppe" = 'A' zu "Gruppe" = 'B' usw. abzufragen und schon hast Du neben dem jeweiligen Ort die Gruppen ausgezählt, die an dem Ort zu verzeichnen sind.
Gruß
Robert
Das Problem liegt darin, dass Du wirklich nur Daten in einer Zeile darstellen kannst, die auch im gleichen Datensatz vorliegen. Ursprünglich ist zwar in der Spezifikation des Report-Builders vorgesehen gewesen, dass auch in Spalten eingelesen werden kann, aber das ist wohl nie in den endgültigen Code eingeflossen.
Du musst also
Gruppe/Ort A B C D E
als Felder einer Abfrage erstellen, so wie juetho das bereits beschrieben hat.
Eine solche Abfrage wird als korrelierte Unterabfrage bezeichnet.
Deine Standardabfrage wäre
[code]SELECT COUNT(*) FROM "Adresse" WHERE "Gruppe" = 'A' AND "Ort" = 'X'[/code]
Diese Abfrage hast Du zu allen Gruppen. Setzt natürlich voraus, dass die Namen/Bezeichnungen der Gruppen vorher fest stehen.
Die Orte ermittelst Du eigentlich mit
[code]SELECT DISTINCT "Ort" FROM "Adresse"[/code]
DISTINCT, weil damit nicht laufend gleiche Ortsnamen ausgegeben werden, nur die unterschiedlichen Ortsnamen
Jetzt möchtest Du zu jedem Ort eine vorgegebene Gruppe zählen lassen:
[code]SELECT DISTINCT
"a"."Ort",
(SELECT COUNT(*) FROM "Adresse" WHERE "Gruppe" = 'A' AND "Ort" = "a"."Ort") AS "Gruppe_A"
FROM "Adresse" AS "a"[/code]
Damit nutzt Du den in der Hauptabfrage auftauchenden Wert von "Ort" für die Unterabfrage nach der Anzahl der Gruppe A. Den Zugang dazu verschafft Dir der Alsias "a" für die Tabelle "Adresse" in der Hauptabfrage.
Die Unterabfrage brauchst Du jetzt nur zu kopieren und einzufügen, dann jede Gruppe entsprechend durch Änderung von "Gruppe" = 'A' zu "Gruppe" = 'B' usw. abzufragen und schon hast Du neben dem jeweiligen Ort die Gruppen ausgezählt, die an dem Ort zu verzeichnen sind.
Gruß
Robert