Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Case-Konstrukt bitte überprüfen

Empfohlene Antworten

Veröffentlicht

Hallo,

bin mittlerweile wohl etwas verwirrt von den verschiedenen SQL-Versionen und finde grad meinen Fehler nicht.

Ermittelt werden sollen die Provisionssätze, die Vertragssummen hab ich vorher mit der SUM-Funktion in einer separaten Spalte zusammenrechnen lassen (siehe Quelltext)

Die ersten beiden Felder hab ich noch im Editor zusammen geklickt, die Case-Anweisung musste ich aber selbstverständlich per Hand schreiben.

Angeblich fehlt nun noch ein Operator, aber netterweise zeigt er mir ja nich, wo. Und ich seh den Fehler auch grad nich.

(Version: SQL aus Access 2010, MySQL)

SELECT Aussendienstmitarbeiter_Vertraege.Aussendienstmitarbeiter,

Sum(Aussendienstmitarbeiter_Vertraege.Vertrag) AS Vertragssumme,

(case Vertragssumme when Vertragssumme <20000 then '0 %'

when Vertragssumme >=20000 AND Vertragssumme <40000 Then '1 %'

when Vertragssumme >=40000 AND Vertragssumme <60000 Then '2 %'

when Vertragssumme >=60000 AND Vertragssumme < 80000 then '3 %'

when Vertragssumme >=80000 AND Vertragssumme < 100000 then '4 %'

when Vertragssumme >= 100000 then '5 %' END) as Provision

FROM Aussendienstmitarbeiter_Vertraege

GROUP BY Aussendienstmitarbeiter_Vertraege.Aussendiensmitarbeiter;

Edit: Zeile 1 des Codes könnte bisschen seltsam aussehen. Der Aussendienstmitarbeiter ist eigentlich auch als "Aussendienstmitarbeiter" auch so hier.

Bearbeitet von Chirin

Das mit dem Alias (Vertragssumme) funktioniert vermutlich nicht so ohne weiteres in dem Case, außerdem vermischst du zwei Möglichkeiten "Case-Konstrukte" zu basteln.

1.Möglichkeit:


CASE 1+1

    WHEN 2 THEN "zwei"

    WHEN 1 THEN "eins"

END;

2. Möglichkeit

CASE

    WHEN 1=1 THEN "true"

    WHEN 1=2 THEN "false"

END;

Vielleicht hilft dir das schon weiter, ist aber ohne Gewähr weil ich keine Ahnung von Access habe.

Alternativ Vertragssumme einfach durch 20000 teilen und auf int casten :floet:

  • Autor

leider nicht wirklich.

Hab inzwischen bisschen weiter gelesen und bin auf die Funktion Schalter (Switch) gestoßen und habe versucht, die im Editor zu nutzen. Leider weiterhin ohne Erfolg. Vll wird's hier etwas klarer:

Provisionssatz: Schalter(

[Vertragsnummer]<20000;'0 %';

[Vertragsnummer]>=20000 Und [Vertragsnummer]<40000;'1 %';

[Vertragsnummer]>=40000 Und [Vertragsnummer]<60000;'2 %';

[Vertragsnummer]>=60000 Und [Vertragsnummer]<80000;'3 %';

[Vertragsnummer]>=80000 Und [Vertragsnummer]<100000;'4 %';

[Vertragsnummer]>=100000;'5 %')

Bin weiterhin für Vorschläge offen :))

Edit: Als If-Anweisung mag ichs nich wirklich in Access machen. Bei der Menge an Bedingungen sieht das wohl ziemlich unschick aus.

Bearbeitet von Chirin

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.