März 03, 2021, 05:39:39

Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!


nach INNERJOIN - nur bestimmte Datensätze kalkulieren

Begonnen von Jakomo, Februar 18, 2021, 14:12:18

⏪ vorheriges - nächstes ⏩

Jakomo

Hallo!
Problemstellung: Ich ermittle die Schnittmenge ausgewählter Mitarbeiter (tb_Mitarbeiter) mit Umsatz (tb_Umsatz)
(siehe Code der Abfrage ganz unten)
Dabei werden Berechnungen (Brutto, Netto, etc.) durchgeführt. Auch Provisionen
Das klappt auch alles gut.
Jetzt ist es aber so, das Auch Anteile der Provision berechnet und (im Formular über Summe) werden müssen (Gruppenleiter, Superprovision, oder wie immer ihr die auch bezeichnen wollt). Da diese Personen (also die Gruppenleiter bzw. Superprovisionsbezieher) aus sich selbst keine "GL-Provision" beziehen können, ist hier keine "GL-Provision" zu ermitteln.
Ich habe zuerst gedacht ich löse dies durch "Ausklammern der betreffenden Personen"
Also bspw. wie folgt, angenommen es Betrifft Mitarbeiter mit ID = 8:
...
FROM tb_Mitarbeiter INNER JOIN tb_Umsatz ON tb_Mitarbeiter.MA_ID = tb_Umsatz.MAU_MAID
WHERE (((tb_Mitarbeiter.MA_Aktiv)=True) AND ([MA_ID]<>8));

Allerdings wird diese Person dann gar nicht angezeigt, was ja auch nicht richtig ist. Sie soll ja sehr wohl in der Liste erscheinen, nur bei der Kalkulation der "GL-Provision" nicht berücksichtigt werden.

Hat da jemand eine Idee wie die Lösung ausschaut?
ich stehe da schon logisch grade auf dem Schlauch. Daher danke!

SELECT tb_Mitarbeiter.MA_ID, tb_Mitarbeiter.MA_Aktiv, tb_Umsatz.MAU_ID, tb_Umsatz.MAU_MAID, tb_Umsatz.MAU_Datum, tb_Mitarbeiter.MA_UProzent, tb_Mitarbeiter.MA_USteuer, tb_Mitarbeiter.MA_UProzentGL, tb_Umsatz.MAU_Brutto, ([MAU_Brutto]/(100+[MA_USteuer])*100) AS NettoUmsatz, ([MAU_Brutto]/(100+[MA_USteuer])*[MA_UProzent]/100)*100 AS [MA-Provision], ([MAU_Brutto]/(100+[MA_USteuer])*[MA_UProzentGL]/100)*100 AS [GL-Provision], tb_Umsatz.MAU_Anteilig, tb_Umsatz.MAU_Anteil, tb_Umsatz.MAU_Beteiligte
FROM tb_Mitarbeiter INNER JOIN tb_Umsatz ON tb_Mitarbeiter.MA_ID = tb_Umsatz.MAU_MAID
WHERE (((tb_Mitarbeiter.MA_Aktiv)=True));

x