Я новичок в SQL, и я не понимаю, как работает этот язык. У меня есть код:
if (select Zarobki from PRACOWNICY) < 3000
update PRACOWNICY set Zarobki = Zarobki * 2
else
update PRACOWNICY set Zarobki = Zarobki / 2
Как я могу сравнить несколько значений из таблицы? Я думаю, что select работает как операторы цикла
Студия управления MS SQL
Просто интересно, что это за логика? Если кто-то заработает, скажем, 2000, то после обновления получит 4000, а тот, у кого 5000, получит 2500.





Ты можешь написать:
update PRACOWNICY
set Zarobki = CASE
when Zarobki < 3000
then Zarobki * 2
else
then Zarobki / 2
END
такого рода операции можно выполнить с помощью одного запроса.
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;
да, потому что в вашем примере кода есть оператор else :) что вы хотите сделать? пожалуйста, обновите свой вопрос и предоставьте образцы данных и ожидаемый результат, чтобы мы могли понять, чем вы занимаетесь.
Я изменяю ваш код, и он работает. Просто измените «еще» на секунду «когда-чем»
Какая у вас СУБД?