Seite 1 von 1
Abfrage Rechnen Wenn Funktion?
Verfasst: Sa, 20.01.2018 10:55
von Vanessa Sturm
Hallo Ihr alle,
kann ich in einer Abfrage die mir was ausrechnen soll eine Wenn funktion einbauen?
Also zum Bsp. Select Wenn "Summe" < als 5 dann *5 wenn "Summe" >5 <7 dann *7.5 wenn "Summe" >7 <12 dann * 10 wenn "Summe" >12 * 12.5
Ich hoffe Ihr versteht was ich meine.
Gruß
Vanessa
Re: Abfrage Rechnen Wenn Funktion?
Verfasst: Sa, 20.01.2018 11:24
von RobertG
Hallo Vanessa,
versuche es einmal mit CASE WHEN ...
Aus dem Handbuch:
CASE WHEN expr1 THEN v1[WHEN expr2 THEN v2] [ELSE v4] END
Wenn expr1 wahr ist wird v1 zurückgegeben. [Optional können weitere Fälle angegeben werden] Sonst wird v4 wiedergegeben oder
NULL, wenn kein ELSE formuliert ist.
CASE WHEN DAYOFWEEK("Datum")=1 THEN 'Sonntag' WHEN DAYOFWEEK("Datum")=2 THEN 'Montag' ... END
könnte per SQL den Tagesnamen ausgeben, der sonst in der Funktion nur in Englisch verfügbar ist.
Wenn Du rechnen willst, dann dürfen die Zahlen aber nicht in Hochkommata stehen.
Gruß
Robert
Re: Abfrage Rechnen Wenn Funktion?
Verfasst: Sa, 20.01.2018 14:02
von Vanessa Sturm
Hi Robert,
Danke erst mal für deine Hilfe.
Ich habe es ausprobiert. Und zwar so :
SELECT Case When ("Bundle") <5 then ("Bundle"*5) when ("Bundle") >5 then ("Bundle"*7.5) when ("Bundle") >7 then ("Bundle"*10) when ("Bundle") >13 then ("Bundle"*12.5) end FROM "Summe "
Bundle enthält den wert gerade von 15 als lösung rechnet er mir 112,5 aus. Ich finde den fehler nicht.
Du vielleicht?
Gruß Vanessa
Re: Abfrage Rechnen Wenn Funktion?
Verfasst: Sa, 20.01.2018 14:19
von Vanessa Sturm
Juhuuuu hab den fehler gefunden
So ist es richtig geschrieben.
SELECT Case When ("Bundle") <5 then ("Bundle"*5) when ("Bundle") <7 then ("Bundle"*7.5) when ("Bundle") <12 then ("Bundle"*10) when ("Bundle") >13 then ("Bundle"*12.5) end FROM "Summe "
Danke für deinen grund gedanke.
Re: Abfrage Rechnen Wenn Funktion?
Verfasst: Sa, 20.01.2018 15:52
von Toxitom
Hallo Vanessa,
So ist es richtig geschrieben.
nicht ganz;) - der Fall, dass "Bundle" genau 12 ist, wird nicht berücksichtigt!
Also: die letzte "when" bedingung ersetzen durch :
Dann passt es;)
Generell gilt: Wenn-Bedingugen werden von vorne nach hinten abgearbeitet und die erste passende Bedingung wird ausgeführt;)
Viele Grüße
Tom
Re: Abfrage Rechnen Wenn Funktion?
Verfasst: Mo, 22.01.2018 09:55
von Vanessa Sturm
Guten Morgen Tom,
habe ich gemacht und jetzt kommt immer Syntax fehler.
jetzt will er nicht mehr.
Code: Alles auswählen
SELECT CASE WHEN ( "Bundle" ) < 5 THEN ( "Bundle" * 5 ) WHEN ( "Bundle" ) < 7 THEN ( "Bundle" * 7.5 ) WHEN ( "Bundle" ) < 12 THEN ( "Bundle" * 10 ) else ( "Bundle" ) > 13 then ( "Bundle" * 12.5 ) END AS "Provi Bundle" FROM "Summe "
gruß Vanessa
Re: Abfrage Rechnen Wenn Funktion?
Verfasst: Mo, 22.01.2018 09:59
von Toxitom
Hallo Vanessa,
korrekt lesen hilft;))
Nicht:
Code: Alles auswählen
... else ( "Bundle" ) > 13 then ( "Bundle" * 12.5 ) END .....
Sondern nur:
VG
Tom
Re: Abfrage Rechnen Wenn Funktion?
Verfasst: Mo, 22.01.2018 12:00
von Vanessa Sturm
Danke Tom,
ja wer lesen kann ist klar im Vorteil.
jetzt habe ich noch mal ne kurze Frage da zu. Wie kann ich die Wenn Abfrage schreiben wenn er Rechnen soll.
also
1-2 = 0
ab 3 -8 = 5
ab 9 = 10
er soll auch immer egal wie viel zähler es sind immer bei 3-8 5 rechnen.
z.b 12 punkte.
punkte 1-2 = 0
Punkte 3-8= 30
ab 9 = 40
Insgesamt 70
gruß Vanessa