Обновление столбца стимулов на основе текущей зарплаты - PullRequest
0 голосов
/ 23 мая 2018
CREATE TABLE EMPSAL
(
  ID INT ,
  NAME VARCHAR(40),
  SALARY FLOAT,
  INCENTIVES FLOAT  
)

INSERT INTO EMPSAL VALUES (1,'ABHI',500,NULL)
INSERT INTO EMPSAL VALUES (2,'BABY',600,NULL)
INSERT INTO EMPSAL VALUES (3,'CHARAN',3000,NULL)
INSERT INTO EMPSAL VALUES (4,'DHANA',4000,NULL)
INSERT INTO EMPSAL VALUES (5,'EMO',5000,NULL)
INSERT INTO EMPSAL VALUES (6,'FARAN',6000,NULL)
INSERT INTO EMPSAL VALUES (7,'GEO',7000,NULL)
INSERT INTO EMPSAL VALUES (8,'JAHANGEER',8000,NULL)

Обновить столбец стимула (SALARY + 5% SALARY), если зарплата <1000. </p>

Обновить столбец Incentive (SALARY + 7% SALARY), если зарплата <5000. </p>

Обновите столбец Стимул с SALARY, если зарплата выше 6000.

Я не знаю, как инициировать этот запрос.

Ответы [ 3 ]

0 голосов
/ 23 мая 2018

Просто используйте Case, как показано ниже:

Update EMPSAL
Set Incentive =
Case
    WHEN Salary < 1000 then SALARY * 1.05  
    WHEN Salary < 5000 AND salary >= 1000 THEN SALARY *  1.07
    ELSE SALARY
End
0 голосов
/ 23 мая 2018

Это должно работать в соответствии с указанными вами правилами (хотя у вас нет разрыва, если зарплата составляет от 5000 до 6000, где она не определена:

UPDATE EMPSAL
SET INCENTIVES = CASE 
        WHEN SALARY < 1000
            THEN SALARY + (SALARY * 0.05)
        WHEN SALARY BETWEEN 1000 AND 5000
            THEN SALARY + (SALARY * 0.07)
        WHEN SALARY >= 6000
            THEN SALARY
        END
0 голосов
/ 23 мая 2018
UPDATE EMPSAL
SET INCENTIVES = (CASE WHEN Salary < 1000 then SALARY * 0.05  
                      WHEN Salary < 5000 AND salary >1000 THEN SALARY *  0.07
                      ELSE SALARY 
                      END)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...