Hallo liebe SQL-Profis,
ich bin was es SQL angeht noch bluttiger Anfänger und stehe vor dem folgendem Problem:
Ich habe eine Tabelle TB_STAMM mit 8 spalten
und eine Tabelle TB_STATUS mit der Aufschlüsselung
TABELLE TB_STAMM
| TAGESINDEX | DATUM_VON_UHR |P_ZEIT | STATUS| AUFTRAG |TagesIndex |PausenIndex | PERSONALNUMMER|
| 12.04.2010 | 12.04.2010 09:21:00 |0.02 | 1 | | 12.04.2010 | | 002 |
| 12.04.2010 | 12.04.2010 09:22:00 |0.33 | 0 | 003 | 12.04.2010 | | 002 |
| 12.04.2010 | 12.04.2010 09:42:00 |0 | 3 | | 12.04.2010 | 1 | 002 |
| 12.04.2010 | 12.04.2010 09:47:00 |0 | 4 | | 12.04.2010 | 1 | 002 |
| 12.04.2010 | 12.04.2010 09:47:00 |1.05 | 0 | 022 | 12.04.2010 | | 002 |
| 12.04.2010 | 12.04.2010 10:50:00 |0 | 3 | | 12.04.2010 | 2 | 002 |
| 12.04.2010 | 12.04.2010 11:13:00 |0 | 4 | | 12.04.2010 | 2 | 002 |
| 12.04.2010 | 12.04.2010 11:13:00 |0.45 | 0 | 022 | 12.04.2010 | | 002 |
| 12.04.2010 | 12.04.2010 11:40:00 |0.2 | 0 | 022 | 12.04.2010 | | 002 |
| 12.04.2010 | 12.04.2010 11:52:00 |0.17 | 0 | 022 | 12.04.2010 | | 002 |
| 12.04.2010 | 12.04.2010 12:02:00 |0.48 | 0 | 022 | 12.04.2010 | | 002 |
| 12.04.2010 | 12.04.2010 12:31:00 |0 | 3 | | 12.04.2010 | 3 | 002 |
| 12.04.2010 | 12.04.2010 12:41:00 |0.02 | 4 | | 12.04.2010 | 3 | 002 |
| 12.04.2010 | 12.04.2010 12:42:00 |0.65 | 0 | 022 | 12.04.2010 | | 002 |
| 12.04.2010 | 12.04.2010 13:21:00 |0 | 3 | | 12.04.2010 | 4 | 002 |
| 12.04.2010 | 12.04.2010 13:25:00 |0.02 | 4 | | 12.04.2010 | 4 | 002 |
| 12.04.2010 | 12.04.2010 13:26:00 |0.82 | 0 | 022 | 12.04.2010 | | 002 |
| 12.04.2010 | 12.04.2010 14:15:00 |0 | 3 | | 12.04.2010 | 5 | 002 |
| 12.04.2010 | 12.04.2010 14:38:00 |0 | 4 | | 12.04.2010 | 5 | 002 |
| 12.04.2010 | 12.04.2010 14:38:00 |0.08 | 0 | 022 | 12.04.2010 | | 002 |
| 12.04.2010 | 12.04.2010 14:43:00 |0 | 3 | | 12.04.2010 | 6 | 002 |
| 12.04.2010 | 12.04.2010 14:53:00 |0.02 | 4 | | 12.04.2010 | 6 | 002 |
| 12.04.2010 | 12.04.2010 14:54:00 |0.12 | 0 | 035 | 12.04.2010 | | 002 |
| 12.04.2010 | 12.04.2010 15:01:00 |0 | 3 | | 12.04.2010 | 7 | 002 |
| 12.04.2010 | 12.04.2010 15:11:00 |0.02 | 4 | | 12.04.2010 | 7 | 002 |
| 12.04.2010 | 12.04.2010 15:12:00 |0.78 | 0 | 035 | 12.04.2010 | | 002 |
| 12.04.2010 | 12.04.2010 15:59:00 |0 | 3 | | 12.04.2010 | 8 | 002 |
| 12.04.2010 | 12.04.2010 16:04:00 |0.02 | 4 | | 12.04.2010 | 8 | 002 |
| 12.04.2010 | 12.04.2010 16:05:00 |1.27 | 0 | 022 | 12.04.2010 | | 002 |
| 12.04.2010 | 12.04.2010 17:21:00 |0 | 3 | | 12.04.2010 | 9 | 002 |
| 12.04.2010 | 12.04.2010 17:23:00 |0.02 | 4 | | 12.04.2010 | 9 | 002 |
| 12.04.2010 | 12.04.2010 17:24:00 |0 | 2 | | 12.04.2010 | | 002 |
TABELLE TB_STATUS
|STATUS | INFO |
|0 | AUFTRAG |
|1 | KOMMEN |
|2 | GEHEN |
|3 | PAUSE ANFANG |
|4 | PAUSE ENDE |
Ich möchte folgendes Resultat:
Arbeitszeiten, Pause und Auftrage nach TagesIndex gruppieren
|TAGESINDEX | KOMMEN |GEHEN |PAUSE | ARBEITEN | 003 | 022 |035 |
|12.04.2010 | 09:21:00| 17:24 | 91.8 | 6.52 | 0.33| 5.17 | 0.90|
Einzelne Schritte die dazu nötig wären:
a.) KOMMEN: Bestimme Arbeitsbeginn (Arbeitsbeginn->wenn Status = 1 dann Kommen)
b.) GEHEN: Bestimme Arbeitsende (Arbeitsende-> wenn Status=2 dann Gehen)
c.) PAUSE: Bestimme gesamt Pause pro Tag in Minuten (SUMME(PAUSE ENDE - PAUSE ANFANG)*100/60)*100, beachte Pausenindex
1. PAUSE ANFANG: (Pause Anfang -> wenn Status = 3)
2. PAUSE ENDE: (Pause Ende -> wenn Status = 4)
d.) ARBEITEN: Bestimme gesamt Arbeitzeit pro Tag (KOMMEN+GEHEN)-PAUSE
e.) AUFTRÄGE: Bestimme gesamt Auftragszeit pro Auftrag und Tag (Auftrag-> wenn Status = 0)
SELECT TAGESINDEX, AUFTRAG, SUMME(P_ZEIT)
FROM TB_STAMM
GROUP BY TAGESINDEX, AUFTRAG;
Irgendwie einzeln kann ich es selbst lösen, aber alles in eine Abfrage zu packen klappt es nicht
Vielen Dank für eure Hilfe!
mfg
user_entwickler-forum
p.s : Es tut mir Leid wg. Tabellen-Formatierung aber hab's nicht besser hingekriegt.
ich bin was es SQL angeht noch bluttiger Anfänger und stehe vor dem folgendem Problem:
Ich habe eine Tabelle TB_STAMM mit 8 spalten
und eine Tabelle TB_STATUS mit der Aufschlüsselung
TABELLE TB_STAMM
| TAGESINDEX | DATUM_VON_UHR |P_ZEIT | STATUS| AUFTRAG |TagesIndex |PausenIndex | PERSONALNUMMER|
| 12.04.2010 | 12.04.2010 09:21:00 |0.02 | 1 | | 12.04.2010 | | 002 |
| 12.04.2010 | 12.04.2010 09:22:00 |0.33 | 0 | 003 | 12.04.2010 | | 002 |
| 12.04.2010 | 12.04.2010 09:42:00 |0 | 3 | | 12.04.2010 | 1 | 002 |
| 12.04.2010 | 12.04.2010 09:47:00 |0 | 4 | | 12.04.2010 | 1 | 002 |
| 12.04.2010 | 12.04.2010 09:47:00 |1.05 | 0 | 022 | 12.04.2010 | | 002 |
| 12.04.2010 | 12.04.2010 10:50:00 |0 | 3 | | 12.04.2010 | 2 | 002 |
| 12.04.2010 | 12.04.2010 11:13:00 |0 | 4 | | 12.04.2010 | 2 | 002 |
| 12.04.2010 | 12.04.2010 11:13:00 |0.45 | 0 | 022 | 12.04.2010 | | 002 |
| 12.04.2010 | 12.04.2010 11:40:00 |0.2 | 0 | 022 | 12.04.2010 | | 002 |
| 12.04.2010 | 12.04.2010 11:52:00 |0.17 | 0 | 022 | 12.04.2010 | | 002 |
| 12.04.2010 | 12.04.2010 12:02:00 |0.48 | 0 | 022 | 12.04.2010 | | 002 |
| 12.04.2010 | 12.04.2010 12:31:00 |0 | 3 | | 12.04.2010 | 3 | 002 |
| 12.04.2010 | 12.04.2010 12:41:00 |0.02 | 4 | | 12.04.2010 | 3 | 002 |
| 12.04.2010 | 12.04.2010 12:42:00 |0.65 | 0 | 022 | 12.04.2010 | | 002 |
| 12.04.2010 | 12.04.2010 13:21:00 |0 | 3 | | 12.04.2010 | 4 | 002 |
| 12.04.2010 | 12.04.2010 13:25:00 |0.02 | 4 | | 12.04.2010 | 4 | 002 |
| 12.04.2010 | 12.04.2010 13:26:00 |0.82 | 0 | 022 | 12.04.2010 | | 002 |
| 12.04.2010 | 12.04.2010 14:15:00 |0 | 3 | | 12.04.2010 | 5 | 002 |
| 12.04.2010 | 12.04.2010 14:38:00 |0 | 4 | | 12.04.2010 | 5 | 002 |
| 12.04.2010 | 12.04.2010 14:38:00 |0.08 | 0 | 022 | 12.04.2010 | | 002 |
| 12.04.2010 | 12.04.2010 14:43:00 |0 | 3 | | 12.04.2010 | 6 | 002 |
| 12.04.2010 | 12.04.2010 14:53:00 |0.02 | 4 | | 12.04.2010 | 6 | 002 |
| 12.04.2010 | 12.04.2010 14:54:00 |0.12 | 0 | 035 | 12.04.2010 | | 002 |
| 12.04.2010 | 12.04.2010 15:01:00 |0 | 3 | | 12.04.2010 | 7 | 002 |
| 12.04.2010 | 12.04.2010 15:11:00 |0.02 | 4 | | 12.04.2010 | 7 | 002 |
| 12.04.2010 | 12.04.2010 15:12:00 |0.78 | 0 | 035 | 12.04.2010 | | 002 |
| 12.04.2010 | 12.04.2010 15:59:00 |0 | 3 | | 12.04.2010 | 8 | 002 |
| 12.04.2010 | 12.04.2010 16:04:00 |0.02 | 4 | | 12.04.2010 | 8 | 002 |
| 12.04.2010 | 12.04.2010 16:05:00 |1.27 | 0 | 022 | 12.04.2010 | | 002 |
| 12.04.2010 | 12.04.2010 17:21:00 |0 | 3 | | 12.04.2010 | 9 | 002 |
| 12.04.2010 | 12.04.2010 17:23:00 |0.02 | 4 | | 12.04.2010 | 9 | 002 |
| 12.04.2010 | 12.04.2010 17:24:00 |0 | 2 | | 12.04.2010 | | 002 |
TABELLE TB_STATUS
|STATUS | INFO |
|0 | AUFTRAG |
|1 | KOMMEN |
|2 | GEHEN |
|3 | PAUSE ANFANG |
|4 | PAUSE ENDE |
Ich möchte folgendes Resultat:
Arbeitszeiten, Pause und Auftrage nach TagesIndex gruppieren
|TAGESINDEX | KOMMEN |GEHEN |PAUSE | ARBEITEN | 003 | 022 |035 |
|12.04.2010 | 09:21:00| 17:24 | 91.8 | 6.52 | 0.33| 5.17 | 0.90|
Einzelne Schritte die dazu nötig wären:
a.) KOMMEN: Bestimme Arbeitsbeginn (Arbeitsbeginn->wenn Status = 1 dann Kommen)
b.) GEHEN: Bestimme Arbeitsende (Arbeitsende-> wenn Status=2 dann Gehen)
c.) PAUSE: Bestimme gesamt Pause pro Tag in Minuten (SUMME(PAUSE ENDE - PAUSE ANFANG)*100/60)*100, beachte Pausenindex
1. PAUSE ANFANG: (Pause Anfang -> wenn Status = 3)
2. PAUSE ENDE: (Pause Ende -> wenn Status = 4)
d.) ARBEITEN: Bestimme gesamt Arbeitzeit pro Tag (KOMMEN+GEHEN)-PAUSE
e.) AUFTRÄGE: Bestimme gesamt Auftragszeit pro Auftrag und Tag (Auftrag-> wenn Status = 0)
SELECT TAGESINDEX, AUFTRAG, SUMME(P_ZEIT)
FROM TB_STAMM
GROUP BY TAGESINDEX, AUFTRAG;
Irgendwie einzeln kann ich es selbst lösen, aber alles in eine Abfrage zu packen klappt es nicht
Vielen Dank für eure Hilfe!
mfg
user_entwickler-forum
p.s : Es tut mir Leid wg. Tabellen-Formatierung aber hab's nicht besser hingekriegt.