- 'sql' => '(einsatzpersonal.stunden * personal.persstdsatz + ' .
- 'einsatzgeraete.stunden * gerate.geraetkst_intern + ' .
- 'einsatzgeraete.stunden * anbaugeraete.anbkst_intern) / laenge',
+ 'sql' => '
+((SELECT sum(stunden * personal.persstdsatz) FROM einsatzpersonal
+JOIN personal ON einsatzpersonal.personal = personal.id
+WHERE einsatz = einsatz.id)
++
+CASE WHEN
+(SELECT sum(stunden * gerate.geraetkst_intern + stunden * CASE WHEN anbaugeraete.anbkst_intern IS NULL THEN 0.0 ELSE anbaugeraete.anbkst_intern END)
+FROM einsatzgeraete
+JOIN gerate ON einsatzgeraete.geraet = gerate.id
+LEFT JOIN anbaugeraete ON einsatzgeraete.anbaugeraet = anbaugeraete.id
+WHERE einsatz = einsatz.id) IS NULL THEN 0.0
+ELSE (SELECT sum(stunden * gerate.geraetkst_intern + stunden * CASE WHEN anbaugeraete.anbkst_intern IS NULL THEN 0.0 ELSE anbaugeraete.anbkst_intern END)
+FROM einsatzgeraete
+JOIN gerate ON einsatzgeraete.geraet = gerate.id
+LEFT JOIN anbaugeraete ON einsatzgeraete.anbaugeraet = anbaugeraete.id
+WHERE einsatz = einsatz.id) END) / laenge
+',
+
+