Update table column values based on conditional logic
Try using the CASE statement within the UPDATE command
UPDATE [yourtablename]SET salary = CASE WHEN salary BETWEEN 10000 AND 15000 THEN salary + 5000 WHEN salary BETWEEN 15000 AND 20000 THEN salary + 7000 WHEN salary BETWEEN 20000 AND 30000 THEN salary + 8000 WHEN salary BETWEEN 40000 AND 60000 THEN salary + 10000 ELSE salary END
Something like this:
UPDATE YourTableSET salary = CASE WHEN salary > 10000 AND salary <= 15000 THEN salary + 5000 WHEN salary > 15000 AND salary <=20000 THEN salary + 7000 . . . END
Just use an UPDATE
statement with a CASE
statement with the required logic in it:
UPDATE SalaryTableSET Salary = (CASE WHEN Salary BETWEEN 10000 AND 14999 THEN Salary + 5000 WHEN Salary BETWEEN 15000 AND 19999 THEN Salary + 7000 WHEN Salary BETWEEN 20000 AND 29999 THEN Salary + 8000 WHEN Salary BETWEEN 40000 AND 59000 THEN Salary + 10000 ELSE Salary END)
I've used BETWEEN
which evaluates greater than or equal to and less than or equal to, hence the values like 14999
.
Also, you have a gap between 30000
and 40000
, which isn't picked up, but I'm assuming this is down to it being dummy data.
Reference: