Hallo allerseits,
seit Tagen versuche ich ein Problem zu lösen und verzweifle allmählich daran.
Wahrscheinlich übersteigt das meinen intellektuellen Horizont.
Ihr hier seid meine letzte Hoffnung!
Es geht um eine Fahrzeug-Datenbank in MySQL und php.
Ich habe drei Tabellen:
Stammdaten
km
Werkstattfahrten
Die Datensätze in den Tabellen sollen über das Feld Kennzeichen (der Fahrzeuge) verbunden werden.
Das Feld Kennzeichen ist in allen drei Tabellen vorhanden.
In Tabelle Stammdaten ist für jedes Kennzeichen nur 1 Datensatz vorhanden.
ABER:
in Tabelle km sind für jedes Kennzeichen mehrere Datensätze vorhanden.
Auch in Tabelle Werkstattfahrten sind für jedes Kennzeichen mehrere Datensätze vorhanden.
Ich möchte nun für jedes einzelne Kennzeichen die gefahrenen Kilometer ermitteln.
Das funktioniert tadellos.
Weiter möchte ich für jedes einzelne Kennzeichen die Summe der Rechnungsbeträge aus der Tabelle Werkstattfahrten ermitteln. Und das klappt nicht. Die Summe der Rechnungsbeträge wird nicht einmal ermittelt, sondern so oft, wie in der Tabelle km (!) Einträge für das jeweilige Fahrzeug vorhanden sind. Wenn ich also in der Tabelle km 3 Einträge für das jeweilge Kennzeichen habe, ist der Rechnungsbetrag der Werkstattfahrten 3 x so hoch wie er sein sollte.
Kann mir hierbei jemand helfen?
Ich wäre sehr dankbar!
Hier noch Auszüge aus den Tabellen:
Tabelle Stammdaten
Kennzeichen | Fahrzeugtyp
DE-MO 34 | Ford Ranger
DE-MO 437 | Unimog 405/10
Tabelle km
Kennzeichen | Monat | km-Stand
DE-MO 34 | 2016-01-22 | 190902
DE-MO 34 | 2016-02-18 | 191430
DE-MO 34 | 2016-03-15 | 191820
DE-MO 437 | 2016-01-17 | 42850
DE-MO 437 | 2016-02-10 | 43912
Tabelle Werkstattfahrten
Kennzeichen | Datum | Rechnungsbetrag
DE-MO 34 | 2016-02-12 | 465
DE-MO 34 | 2016-02-25 | 112
DE-MO 437 | 2016-01-13 | 67
DE-MO 437 | 2016-01-15 | 53
DE-MO 437 | 2016-02-03 | 185
DE-MO 437 | 2016-03-18 | 246
gewünschtes Ergebnis
Kennzeichen | gefahrene km | Kosten
DE-MO 34 | 918 | 577
DE-MO 437 | 1062 | 551
Und das kriege ich nicht hin, ich sitze seit Tage daran!
Schon mal vielen Dank im voraus!
Gruß
Frank
seit Tagen versuche ich ein Problem zu lösen und verzweifle allmählich daran.
Wahrscheinlich übersteigt das meinen intellektuellen Horizont.
Ihr hier seid meine letzte Hoffnung!
Es geht um eine Fahrzeug-Datenbank in MySQL und php.
Ich habe drei Tabellen:
Stammdaten
km
Werkstattfahrten
Die Datensätze in den Tabellen sollen über das Feld Kennzeichen (der Fahrzeuge) verbunden werden.
Das Feld Kennzeichen ist in allen drei Tabellen vorhanden.
In Tabelle Stammdaten ist für jedes Kennzeichen nur 1 Datensatz vorhanden.
ABER:
in Tabelle km sind für jedes Kennzeichen mehrere Datensätze vorhanden.
Auch in Tabelle Werkstattfahrten sind für jedes Kennzeichen mehrere Datensätze vorhanden.
Ich möchte nun für jedes einzelne Kennzeichen die gefahrenen Kilometer ermitteln.
Das funktioniert tadellos.
Weiter möchte ich für jedes einzelne Kennzeichen die Summe der Rechnungsbeträge aus der Tabelle Werkstattfahrten ermitteln. Und das klappt nicht. Die Summe der Rechnungsbeträge wird nicht einmal ermittelt, sondern so oft, wie in der Tabelle km (!) Einträge für das jeweilige Fahrzeug vorhanden sind. Wenn ich also in der Tabelle km 3 Einträge für das jeweilge Kennzeichen habe, ist der Rechnungsbetrag der Werkstattfahrten 3 x so hoch wie er sein sollte.
Kann mir hierbei jemand helfen?
Ich wäre sehr dankbar!
Hier noch Auszüge aus den Tabellen:
Tabelle Stammdaten
Kennzeichen | Fahrzeugtyp
DE-MO 34 | Ford Ranger
DE-MO 437 | Unimog 405/10
Tabelle km
Kennzeichen | Monat | km-Stand
DE-MO 34 | 2016-01-22 | 190902
DE-MO 34 | 2016-02-18 | 191430
DE-MO 34 | 2016-03-15 | 191820
DE-MO 437 | 2016-01-17 | 42850
DE-MO 437 | 2016-02-10 | 43912
Tabelle Werkstattfahrten
Kennzeichen | Datum | Rechnungsbetrag
DE-MO 34 | 2016-02-12 | 465
DE-MO 34 | 2016-02-25 | 112
DE-MO 437 | 2016-01-13 | 67
DE-MO 437 | 2016-01-15 | 53
DE-MO 437 | 2016-02-03 | 185
DE-MO 437 | 2016-03-18 | 246
gewünschtes Ergebnis
Kennzeichen | gefahrene km | Kosten
DE-MO 34 | 918 | 577
DE-MO 437 | 1062 | 551
Und das kriege ich nicht hin, ich sitze seit Tage daran!
Schon mal vielen Dank im voraus!
Gruß
Frank