Hallo,
ich bin am verzweifeln. Habe so einiges versucht, komme jedoch nicht weiter.
Aufgabenstellung:
In einer Tabellen stehen Arbeitszeiten von Mitarbeitern. Ich möchte wissen, wer nach 6 Stunden Arbeitszeit keine Pause gemacht hat.
Der Mitarbeiter kann einen Eintrag am Tag haben, zwei, drei, sogar 10 Einträge haben.
Tabelle:
ID, Mitarbeiter, Tag, Monat, Jahr, Zeit von, Zeit bis, Stunden
2, Fritz,1,10,2014, 08:00, 10:00, 2
11, Fritz,1,10,2014, 13:00, 19:00, 2
8, Fritz,1,10,2014, 07:30, 08:00, 0,5
16, Fritz,1,10,2014, 11:30, 12:00, 0.5
4, Fritz,1,10,2014, 12:00, 16:00, 4
6, Fritz,1,10,2014, 16:00, 19:00, 3…
Ich denke mir, die Anfangszeit zu sortieren asc und müsste dann in der nächsten zeile nachschauen, ob der anfangswert der zeile dem endwert der vorherigen zeile entspricht.
und das für alle relevanten zeilen. wenn die anfangswerte immer mit den endwerte übereinstimmen hat er durch gearbeitet und keine pause genommen und der datensatz soll ausgegeben werden. wenn mindestens eine pause von 30 minuten zu finden ist soll er weitersuchen und prüfen, ob er nach 12 stunden entweder mindestens 1 stunde pause genommen hat oder jeweils eine halbe stunde alle 6 stunden.
Ich habe diverse Foren nach meinem Problem gesucht, jedoch keine Hilfe für zwei verschiedene Felder in zwei oder mehr Zeilen gefunden. Möglichweise kann man das auch über eine Schleife realiseren. Ich bin nicht wirklich fit in SQL und PHP und würde mich über ein paar Tipps freuen.
Danke,… Jürgen