Here are several references for what you want to do:
Google[
^]
If you are unable to progress your problem then by all means come back with the code you have tried and a better description of the problem than "woont work" - e.g. the actual error message or the actual results.
EDIT:
Unlike SQL Server, Oracle does not support the JOIN syntax for updates.
You need to do something like the following:
UPDATE PAYSLIP HL
SET (ALLOW8, ALLOW9, ALLOW10) =
(
SELECT ALLOW8, ALLOW9, ALLOW10
FROM PAYROLL H WHERE H.IDNO=HL.IDNO AND H.YEAR1 ='2017'
)
WHERE EXISTS (
SELECT 1 FROM PAYROLL H
WHERE H.IDNO=HL.IDNO AND H.YEAR1 ='2017')
AND HL.YEAR1 ='2017';
If you are updating several columns it's much more efficient to use
MERGE[
^]. Further examples -
ORACLE-BASE - MERGE Statement[
^]