If 3 records exist for each prnumber.
one for approverid = '1111'
one for approverid = '401'
and one for when approverid = '329' or approverid = '1495' or approverid = '1239'
You could possible use table aliases and joins, something like this:
select
PurchaseDate.prnumber,
PurchaseDate.trasdate Purchase,
CapexDate.trasdate Capex,
FinanceDate.trasdate Finance
from (select * from tblpo_approvalstatus
where approverid = '1111' and postatus = 'y'
) PurchaseDate
left join (select * from tblpo_approvalstatus
where approverid = '401' and postatus = 'y'
) CapexDate
on PurchaseDate.prnumber = CapexDate.prnumber
left join (select * from tblpo_approvalstatus
where approverid = '329' or approverid = '1495' or approverid = '1239'
and postatus = 'y'
) FinanceDate
on PurchaseDate.prnumber = FinanceDate.prnumber
;
Hope it helps out.