Hallo zusammen,
ich bin gerade dabei eine komplexe SQL Abfrage zu schreiben.
Diese sieht bis dato wie folgt aus:
SELECT t3.PrcName, t1.U_PF Portfolio, t1.U_LS Leistungen, ((SELECT SUM(t0.LineTotal) FROM INV1 t0, OPRJ t1 join "OPRC" t3 on t3.PrcCode = t1.U_VtVerant WHERE t0.Project = t1.PrjCode AND t1.U_PF = 'MB' AND t1.U_LS = 'PRM')-(SELECT SUM(t0.LineTotal) FROM RIN1 t0, OPRJ t1 join "OPRC" t3 on t3.PrcCode = t1.U_VtVerant WHERE t0.Project = t1.PrjCode AND t1.U_PF = 'MB' AND t1.U_LS = 'PRM')) AS Umsatz
FROM INV1 t0, OPRJ t1 join "OPRC" t3 on t3.PrcCode = t1.U_VtVerant WHERE t0.Project = t1.PrjCode AND t0.Project = t1.PrjCode AND t1.U_PF = 'MB' AND t1.U_LS = 'PRM' GROUP By t3.PrcName, t1.U_PF, t1.U_LS;
Das Problem ist, dass das Ergebnis vom Umsatz nicht stimmt. Da die where Bedingung auf zwei unterschiedliche Personen zutrifft und diese vom Umsatz her zusammengefasst werden.
Das Ergebnis sieht dann folgendermaßen aus:
PrcName | Portfolio | Leistungen | Umsatz
Meier, Stefan | MB | PRM | 45,19
Huber, Markus | MB | PRM | 45,19
Gibt es eine einfache Mölglichkeit, die getrennt voneiander zu betrachten. So dass der Umsatz für den ersten Treffer und dann für den zweiten Treffer errechnet wird und nicht der gleiche Umsatz für beide Treffer ausgegeben wird?
Vielleicht ist das auch gar nicht das richtige Forum dafür. Aber ich stelle die Frage mal trotzdem.
Über Antworten würde ich mich freuen.
Viele Grüße