Hallo,
ich habe mal wieder ein komplizierte Frage. Also: Ich möchte eine Abfrage durchführen, deren rgnisse nach Monaten Sortiert und zusammengefasst werden.
Es geht um eine Vereinsgeschichte und die Kosten. Dazu habe ich eine Tabelle gemacht arbeitseinsaetze, eine tabelle kleinmaterial, eine tabelle materialeinsatz. Nun geht Fritz hin und mäht den Rasen und braucht dafür zB sprit und danach noch etwas Rasendünger, so kleinkram halt, was immer vorrätig ist, aber halt auch betrag x pro Einheit kostet (tabelle kleinematerial), arbeitseinsatz rasenmähen (tabelle arbeitseinsatz) tabelle materialeinsatz bekommt dann zwei Einträge id 1 (sprit) und id 2 (Rasensamen).Es kann aber sein, dass Tina nur aufräumt und kein Material braucht oder nur ein Material.>Rauskommen soll nach her sowas wie : Januar: 12 €, 24 Stunden
Febuar: 45 €, 13 Stunden
März: 8 Stunden, 0 € usw.Veruscht hatte ich das Ganze über sowas wie:
select month(arbeitseinsatz.datum) as monatszahl,sum(distinct(kelinmaterial.einheitspreis*material.menge)) as materialsumme_monat_zeit from arbeitseinsaetze ,kleinmaterial,material where kleinmaterial.lagerware=lagerware.id and einsatzmaterial_lw.einsatzid=einsaetze.einsatz_id group by date_format(arbeitseinsaetze.datum,’%M’) order by arbeitseinsaetze.datum ascDer Knackpunkt: Bei mehr als einem Materialposten steigt die Abfrage an dem Punkt kleinmaterial.lagerware=lagerware.id aus weil es id 1 und id 2 gibt. Ich vergebe pro Arbeitseinsatz eine Nummer, damit auch mehrere Personen/Tage einem Einsatz zugeordnet werden können.EIn zweiter Ansatz war ein Array und dann die Nummer Monatsweise reinschreiben und das Ganze dann über ein subquery durchlaufen. Ist aber auch eine Sackgasse.Hoffe es ist verständich. Oder anders:Ich will eine Sterepanlage zusammestellen und habe ein Tape von Akai, Einen DVD Player von Akkai und einen cd spieler von Panasonic…Gehe ich dann hn und sage hersteller.id = bausteine.hersteller_id steigt die Abfrage aus.Any idea?Danke für eure Anregungen!
Oliver