Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: operatory IF w MYSQL
Forum PHP.pl > Forum > Bazy danych > MySQL
cycofiasz
Witam, mam pewien skrypt z tabelą "uzytkownicy" w której każdy user ma dwa typy punktów: u_punkty i u_punktyplus.

Skrypt odejmuje pewną ilość punktów od jednego z tych dwóch pól: jeżeli pierwsze pole jest < 0, to spróbuje odjąć on drugiego pola, ale pod warunkiem że jest ono większe od 0, w przeciwnym wypadku punkty zostaną odjęte od pierwszego.

Zrobiłem takie banalne zapytania, ale wyszły mi aż 3, a ja chciałbym to zrobić w 1. Niestety jeszcze nie posługiwałem się IFami w sql.

Oto moje dotychczasowe rozwiązanie (działa jak należy)
  1. UPDATE `uzytkownicy` SET `u_punkty` = `u_punkty` - '1' WHERE `u_id` = '1' AND `u_punkty` > 0;
  2. UPDATE `uzytkownicy` SET `u_punktyplus` = `u_punktyplus` - '1' WHERE `u_id` = '1' AND `u_punkty` <1 AND `u_punktyplus` > 0;
  3. UPDATE `uzytkownicy` SET `u_punkty` = `u_punkty` - '1' WHERE `u_id` = '1' AND `u_punkty` <1 AND `u_punktyplus` < 1;
erix
Jeśli się nie mylę, to wystarczyłoby skorzystać z ifów, jak w tym wątku: Temat: jakosc_dopasowania
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.