It's not clear to me if user can have multiple priveleges. I will assume yes and target database is 8.1 UDB.
with allowed(flag) as
(
select 'yes'
from A, B
where A.Report = B.Report and a.User = 'blah' and b.Report = 'blah'
fetch first 1 row only
), notallowed(flag) as (values 'no')
select coalece(allowed.flag, notallowed.flag)
from notallowed left outer join allowed on 1=1
P.S.
It's easier and faster to use "1 row and yes" if access is allowed, and "no rows" if no access is allowed.
-dmitri