если с несколькими значениями (TSQL) - PullRequest
0 голосов
/ 27 января 2019

Я новичок в SQL, и я не понимаю, как работает этот язык. У меня есть код:

if (select Zarobki from PRACOWNICY) < 3000
    update PRACOWNICY set Zarobki = Zarobki * 2
else
    update PRACOWNICY set Zarobki = Zarobki / 2

Как я могу сравнить несколько значений из таблицы?Я думаю, что выберите работу как операторы цикла

Ответы [ 2 ]

0 голосов
/ 27 января 2019

операции такого типа можно выполнить одним запросом.

update PRACOWNICY 
set Zarobki = 
  case when Zarobki < 3000 then 
    Zarobki * 2 
  else 
    zarobki /2 
  end

Этот запрос эквивалентен

update PRACOWNICY set Zarobki = Zarobki * 2
where Zarobki < 3000;

update PRACOWNICY set Zarobki = Zarobki / 2
where Zarobki >= 3000;
0 голосов
/ 27 января 2019

Вы можете написать:

update PRACOWNICY
set Zarobki = CASE
               when Zarobki < 3000
                then Zarobki * 2
               else
                then Zarobki / 2
              END
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...