Hallo,
ich steh echt auf dem Schlauch was meine Abfrage angeht.
Also ich habe folgende Tabellen:
Kategorientabelle
Datentabelle (die bekomme ich leider so geliefert)
| ID | Name | FahrzTypRennen1 | FahrzTypRennen2 |
| 1 | Erwin | 1 | 1 |
| 2 | Horst | 2 | 1 |
| 3 | Klaus | 2 | 1 |
In der Abfrage möchte ich wissen welche Anzahl pro Fahrzeugtyp pro Rennen teilgenommen haben
SOLL:
| ID | FahrzTyp | FahrzTypRennen1_Anz | FahrzTypRennen2_Anz |
| 1 | Ford | 1 | 3 |
| 2 | Audi | 2 | 0 |
Hat da jemand von Euch ne Idee wie ich das machen kann?
Ich bekomme das immer nur für ein "Rennen" hin.
Hallo alpe,
dein Datenmodell ist so nicht in Ordnung! Aufzeichnungfelder wie FahrzeugtypRennen1 u. FahrzeugtypRennen2 sollten tunlichst vermieden werden.
Du brauchst:
tblTyp: Typ_ID, Bezeichnung...
tblFahrer: Fahrer_ID, Nachname....
tblRennen: Renn_ID, Bezeichnung, Fahrer_ID_F, Typ_ID_F ( .._F steht für Fremdschlüssel)
für deinen jetzigen Tabellenaufbau geht mit den wenig performanten Aggregatfunktionen z.B.
SELECT tblTypen.ID_Fahrzeug, First(tblTypen.Typ) AS Typ,
NZ(DCount("Rennen1","tblFahrer","Rennen1=" & [ID_Fahrzeug]),0) AS Rennen1,
NZ(DCount("Rennen2","tblFahrer","Rennen2=" & [ID_Fahrzeug]),0) AS Rennen2
FROM tblTypen
GROUP BY tblTypen.ID_Fahrzeug
Gruß Oma
vielen dank,
ich wusste es schon das das datenmodell so nicht stimmt.
leider kann ich es auf die schnelle nicht umstellen
ich hab mir Anzahl der Fhzg pro Rennen jetzt als subqueries gebaut
und dann mit der Fahrzeugtypentabelle "geleftjoined" - das passt.
Hallo,
möglich ohne Verknüpfung der Tabellen und ohne Domänenfunktionen ist auch:
SELECT tblTypen.ID_Fahrzeug, First(tblTypen.Typ) AS Typ,
(SELECT Count(tblFahrer.Rennen1) AS AnzahlvonRennen1 FROM tblFahrer Where Rennen1= [ID_Fahrzeug]) AS Rennen1,
(SELECT Count(tblFahrer.Rennen2) AS AnzahlvonRennen1 FROM tblFahrer Where Rennen2= [ID_Fahrzeug]) AS Rennen2
FROM tblTypen
GROUP BY tblTypen.ID_Fahrzeug
Gruß Oma