update-Befehl < Datenbanken < Praktische Inform. < Hochschule < Informatik < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 17:05 Mi 09.11.2011 | Autor: | bandchef |
Aufgabe | Erhöhen sie das Gehalt um 5% falls die Spalte Beurteilung den Wert 3 oder weniger enthält. |
Hi Leute!
Oben stehende Frage hab ich so versucht zu lösen:
update Personal set Gehalt*1.05 where Gehalt in (select Gehalt from Personal where Beurteilung <= 3);
Leider funktioniert das so nicht ganz und SQL gibt mir folgende Fehlermeldung zurück: missing equal sign...
Könnt ihr mir helfen?
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 17:26 Mi 09.11.2011 | Autor: | bandchef |
Ich hab mittlerweile herausgefunden woran der Fehlerlag. Das set im Query braucht quasi eine "Formel". Der query sieht nun so aus:
update Personal set gehalt=gehalt*1.05 where Gehalt in (select Gehalt from Personal where Beurteilung <= 3);
Das einzige Problem daran ist nun noch, dass es mir bei einem einzigen Eintrag - dieser Eintrag hat Beurteilung = 4 - nun auch um 5% erhöht. Bei ALLEN anderen Einträgen passt es aber soweit. Woran liegt das jetzt?
Könnt ihr mir helfen?
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 18:08 Mi 09.11.2011 | Autor: | Infinit |
Hallo bandchef,
wenn Deine Anfrage richtig ist, und danach sieht es ja aus, dann habe ich die Vermutung, dass die Eintragung in dieser einen Zelle verkehrt ist. Hat sich vielleicht ein Punkt vor die 4 geschlichen und es steht da 0.4 statt 4 oder liegt es an einer Basisformatierung, z.B. Eintrag in %. Prüfe das doch noch mal ab.
Viel Erfolg dabei,
Infinit
|
|
|
|