Hallo an Alle,
ich habe eine ewig lange abfrage zusammengebaut und bin nun auf der suche nach einem kürzeren Ansatz (so es sie gibt).
Die Tabelle beinhaltet neben anderen folgende 5 Relevante Spalten
Datum | Auftrag | Taetigkeit | Arbeit | Vorbereitung
So werden die Arbeitszeiten gespeichert.
die 114 ist z.B. CNC Bearbeitung und 240 min bzw. 45 min.
2017-02-25 | 1758458 | 114 | 240 | 45
Nun frage ich in der Tabelle alle Aufträge des Monats ab
SELECT Auftrag
FROM sql_tabelle
WHERE Datum
>= ‚2017-02-01‘
AND Datum
<= ‚2017-02-28‘
GROUP BY Auftrag
;
Sowie alle Tätigkeiten
SELECT Taetigkeit
FROM sql_tabelle
WHERE Datum
>= ‚2017-02-01‘
AND Datum
<= ‚2017-02-28‘
GROUP BY Taetigkeit
;
Mittels PHP Schleife
erstelle ich nun eine Abfrage welche mir für jeden Auftrag alle summen der Zeiten Arbeit und Vorbereitung der einzelnen Tätigkeiten ausgibt.
SELECT
SUM(CASE WHEN (Auftrag
= 1758458 AND Taetigkeit
= 110) THEN Arbeit
ELSE 0 END)
AS Arbeit-1758458-110
,
SUM(CASE WHEN (Auftrag
= 1758458 AND Taetigkeit
= 110) THEN Arbeit
ELSE 0 END)
AS Vorbereitung-1758458-110
…
WHERE Datum
>= ‚2017-02-01‘
AND Datum
<= ‚2017-02-28‘ ;
was natürlich ein „Monster“ als Abfrage zusammenbaut ca 30 Aufträge * 15 Tätigkeiten * je 2 Werte
Gibt es da eine einfache Lösung diese Daten Abzufragen ?
Mit freundlichen Grüßen
Stefan