sql - Update records of one table using data from another table -
i've 2 tables.
table 1: employees
eid name gender 1 peter m 2 john m 3 melissa f
table 2: salary
eid salary 1 6000 2 8000 3 10000
i need raise salary of male employees 10% , female employees 15%.
below query i've used can't achieve required result in oracle11g.
merge salary using employees on salary.eid = employees.eid when matched update set salary.salary = 1.1*salary employee.gender = 'm' , salary.salary = 1.15*salary employee.gender = 'f';
i got below error message:
sql error: ora-00969: missing on keyword 00969. 00000 - "missing on keyword" *cause:
*action:
there 2 things need consider in snippet provided.
- on clause should accompanied "()".
where clause in update statement not correct. hope snippet helps.
merge salary using employees on (salary.eid = employees.eid) when matched update set salary.salary = decode(employee.gender,'m',1.1*salary,'f',1.15*salary) ;
Comments
Post a Comment