Leider macht deine angegebene
SQL-Anweisung gar keinen Sinn (da kann man ja einfach 2*SUM(...) rechnen. Also verdeutlicht dein Beispiel irgendwie nicht so wirklich deine Problemstellung. Zumindest verstehe ich sie nicht.
Trotzdem mal ein Beispiel (vermutlich völliger Blödsinn) ...
SQL-Code:
SELECT e.datum, e.intervall,
CASE WHEN COALESCE(tabelle3.wert, 0) > 0
THEN SUM(e.wert) + tabelle2.wert / tabelle3.wert
ELSE 0
END ergebnis
FROM element e
LEFT JOIN (SELECT datum, intervall, SUM(wert) wert
FROM element
WHERE typ_id = 18
AND datum = '2010-01-26'
AND pilot_id = 55
GROUP BY datum, intervall) tabelle2
ON e.intervall = tabelle2.intervall
LEFT JOIN (SELECT datum, intervall, SUM(wert) wert
FROM element
WHERE typ_id = 18
AND datum = '2010-01-26'
AND pilot_id = 55
GROUP BY datum, intervall) tabelle3
ON e.intervall = tabelle3.intervall
WHERE typ_id = 18
AND pilot_id = 55
AND e.datum = '2010-01-26'
GROUP BY e.datum, e.intervall, tabelle2.wert, tabelle3.wert
Mir ist nicht klar, wie die einzelnen Tabellen verknüpft werden sollen. Nur über das Intervall? oder auch Datum, Typ, pilot_id? Sind diese immer gleich oder nur in deinem (schlechten) Beispiel?