I'm not sure what your issue with your query is, but here's how it was easiest for me to write:
select p.*, IFNULL(aqty,0) - IFNULL(rqty,0) AS stock_on_hand
from productstbl p
left join (
select p_id, SUM(IFNULL(a.qty,0)) as aqty
from stocks_add a
group by p_id
) AS asum
on asum.p_id = p.p_id
left join
(
select p_id, SUM(IFNULL(r.qty,0)) as rqty
from stocks_rel r
group by p_id
) AS rsum
on rsum.p_id = p.p_id;
and it actually gives the right results! Which is a nice thing for a query to do :)
P_ID P_NAME PRICE STOCK_ON_HAND
ANK001 ANKLET 200 230
BRC001 BRACELET 100 0