Also you may try this solution. This should work even when some craft are missing from either table
with
WPLABOR (WONUM, CRAFT, HRS, RATE) as (
select 50028507, 'AIRSYS', 0.5, 30 from dual union all
select 50028537, 'AIRSYS', 2, 30 from dual union all
select 50031118, 'AIRSYS', 8, 10 from dual union all
select 50031118, 'ELEC', 8, 30 from dual union all
select 50034485, 'ELEC', 0.5, 18 from dual
) ,
LABTRANS (WONUM, CRAFT, HRS, RATE) as (
select 50028507, 'AIRSYS', 0.5, 30 from dual union all
select 50028537, 'AIRSYS', 1, 36 from dual union all
select 50031118, 'AIRSYS', 6, 30 from dual union all
select 50031118, 'ELEC', 8, 30 from dual union all
select 50034485, 'ELEC', 1, 17 from dual
)
SELECT WPLABOR.CRAFT||LABTRANS.CRAFT CRAFT,
SUM(WPLABOR.HRS*WPLABOR.RATE) Total_Planned_cost ,
SUM(LABTRANS.HRS*LABTRANS.RATE) Total_actual_cost FROM WPLABOR
full join
LABTRANS
on 1 = 0
GROUP BY WPLABOR.CRAFT||LABTRANS.CRAFT

db<>fiddle db fiddle link
Therefore assuming your your table names are WPLABOR and LABTRANS respectively. and column names as i have used/assumed. then the query can do the job. you only need this part of the query.
SELECT WPLABOR.CRAFT||LABTRANS.CRAFT CRAFT,
SUM(WPLABOR.HRS*WPLABOR.RATE) Total_Planned_cost ,
SUM(LABTRANS.HRS*LABTRANS.RATE) Total_actual_cost FROM WPLABOR
full join
LABTRANS
on 1 = 0
GROUP BY WPLABOR.CRAFT||LABTRANS.CRAFT