Report aus Datenbanktabellen

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

honegger
Beiträge: 4
Registriert: So, 10.01.2010 18:32

Report aus Datenbanktabellen

Beitrag von honegger »

Hallo

Mein Problem ist das Folgende:

Tabellen:
- Stafetten mit dem PK "Staf_ID" (unter anderen)
- Mannschaften mit dem PK "Mans_ID", den "FK Staf_ID" und dem Attribut "Kategorie" (unter anderen)

Jede Stafette hat mehrere Mannschaften. Eine Mannschaft gehört genau einer Kategorie an.

Ich möchte nun ein Statistik-Report mit einem Balkendiagram erstellen, das pro Stafette die Anzahl der Mannschaften in den verschiedenen Kategorien sowie die Anzahl der Mannschaften pro Stafette darstellt.

Es ist mir nicht gelungen eine View oder Abrage zu erstellen, die ein solches Diagram ermöglicht. Auch das Abfüllen einer Tabelle mit den Summen mittels SQL ( INSERT INTO "statistik" ("AnzKat1", "AnzKat2", ...) VALUES (SELECT "Mannschaften"."Staf_ID" AS "Dummy", COUNT( "Mannschaften".* ) AS "AnzJug" FROM "Mannschaften" AS "Mannschaften" WHERE "Kategorie" = 'Jugendliche' GROUP BY "Staf_ID" ORDER BY "Dummy" ASC, SELECT "Mannschaften"."Staf_ID" AS "Dummy", COUNT( "Mannschaften".* ) AS "AnzDamen" FROM "Mannschaften" AS "Mannschaften" WHERE "Kategorie" = 'Damen' GROUP BY "Staf_ID" ORDER BY "Dummy" ASC, , ) scheitert.

Kann mir jemand auf die "Sprünge" helfen?

Vielen Dank

Ernst Honegger
DPunch
*******
Beiträge: 1112
Registriert: Mo, 02.11.2009 16:16
Wohnort: Marburg

Re: Report aus Datenbanktabellen

Beitrag von DPunch »

Aloha

Ich weiss nicht, ob ich das richtig verstanden habe, aber wenn doch, dann sollte sich ein entsprechendes Balkendiagramm (mit den vier Werten: AnzJug, AnzDamen, AnzHerren, Insgesamt) aus der folgenden Abfrage erstellen lassen.

Code: Alles auswählen

SELECT
a.Staf_ID AS "Dummy", 
(SELECT Count(Mans_ID) FROM Mannschaften WHERE Kategorie = 'Jugendliche' and Staf_ID = a.Staf_ID) AS "AnzJug",
(SELECT Count(Mans_ID) FROM Mannschaften WHERE Kategorie = 'Damen' and Staf_ID = a.Staf_ID) AS "AnzDamen",
(SELECT Count(Mans_ID) FROM Mannschaften WHERE Kategorie = 'Herren' and Staf_ID = a.Staf_ID) AS "AnzHerren",
Count(a.Mans_ID) AS "Insgesamt in Staffel"
FROM Mannschaften a
GROUP BY a.Staf_ID
ORDER BY Dummy
honegger
Beiträge: 4
Registriert: So, 10.01.2010 18:32

Re: Report aus Datenbanktabellen

Beitrag von honegger »

Hallo

Besten Dank, Du hast das richtig verstanden und es funktioniert auch.
Ich habe wohl den Mechanismus des Gruppierens bisher nicht richtig verstanden.

Gruss Honegger
Antworten