Neuigkeiten:

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

Mobiles Hauptmenü

Keine Anzeige von negativen Gehältern -->Anzeige als Null?

Begonnen von Mak, Oktober 03, 2010, 13:40:38

⏪ vorheriges - nächstes ⏩

Mak

Hallo zusammen

ich habe für meine Hausarbeit folgenden Code generiert:

Zitat
SELECT Staff.[lName], Staff.[fName], Staff.salary*([Enter percentage of Rise]/100+1) AS [New Salary after Salary Rise]

FROM Staff

ORDER BY staff.lName, staff.fName;

Nun ist mir folgendes aufgefallen:
Wenn ich einen Wert kleiner als -100% eingebe, erhalte ich ein negatives Gehalt. Und dieses ist unrealistisch, da das Gehalt
min. einen Wert von 0 annehmen kann.

Was müsste ich denn machen um das zu vermeiden, dh. dass eine 0 vermerkt wird für z.b. -200%

Vielen Dank.

gruss
Mak

oma

Hallo Mak,

z.B. so

New Salary after Salary Rise: Wenn([Enter percentage of Rise]<-100;0;[Staff].[salary]*([Enter percentage of Rise]/100+1))

Gruß Oma
nichts ist fertig!

Mak

Hej oma,

danke für antwort.

Handelt es sich bei deinem Lösungsvorschlag um eine IIF funktion?
wie könnte ich es auch ohne if/wenn function lösen?
Denn dieses könnte eine Aufgabenstellung in der Klausur sein und da wir noch keine If-Funktionen behandelt haben,
wäre die andere Variante sehr interessant für mich ;)

oma

Hallo,

wir fällt keine andere Lösung ein, zumindest nicht für die angegeben Parameterabfrage!

Da diese Abfragen nicht besonders "elegant" sind, baut man sich besser eigene Eingabeformullare für bestimmte Abfragen/Recherchen in denen man dann für die Eingaben leicht Gültigkeitsprüfungen einbauen kann

Gruß Oma
nichts ist fertig!

Mak

könntest du mir noch bitte zeigen, wo ich die if-Funktion genau einbauen muss?
danke

oma

Hallo,

eigentlich nur dein New Salary after Salary mit meinen Code austauschen

zusammen:

select IName, fName, salary,
IIf([Enter percentage of Rise]<-100,0, salary*([Enter percentage of Rise]/100+1)) AS [New Salary after Salary Rise]
from Staff
order by IName, fName

Gruß Oma
nichts ist fertig!