Es tut mir leid, aber da ist überhaupt nichts klar!
Was ist e? Wird das eingeschränkt?
Auch in diesem Beispiel sind das datum und die pivot_id wieder überall gleich und im ersten Block taucht das datum wieder zweimal im WHERE auf! Sind diese Infos immer gleich oder soll das auch unterschiedlich sein können? Das sind alles wichtige Informationen, ohne die man dir überhaupt nicht helfen kann.
Warum machst du uns das Helfen so schwer? Willst du keine Hilfe?
Also bitte erkläre doch mal deine Struktur und dann was du eigentlich haben möchtest.
Am besten mit Beispieldaten (wie liegen sie vor, was genau! möchtest du als Ergebnis haben)
Ich versuche es trotzdem nochmal...
SQL-Code:
SELECT datum, intervall,
SUM(CASE WHEN typ_id = 17 THEN wert ELSE 0 END) AS ergebnis1,
SUM(CASE WHEN typ_id = 18 THEN wert ELSE 0 END) AS ergebnis2,
SUM(CASE WHEN typ_id = 19 THEN wert ELSE 0 END) AS ergebnis3,
SUM(CASE WHEN typ_id = 17 THEN wert ELSE 0 END)
* SUM(CASE WHEN typ_id = 18 THEN wert ELSE 0 END)
- SUM(CASE WHEN typ_id = 19 THEN wert ELSE 0 END) AS ergebnis_gesamt
FROM element
WHERE datum = '2010-01-26'
AND pilot_id = 55
GROUP BY datum, intervall