You can achieve this by doing a subselect without variables
SELECT t.*,
(100 * (t.val1/t.val2)) `percent`
FROM
(
Select a.*,SUM( a.val1 ) AS val1,
SUM( b.val2 ) AS val2
from quest1 a , quest b
) t
or
Select a.*,
SUM( a.val1 ) AS val1,
SUM( b.val2 ) AS val2,
(100 * ( SUM( b.val1 ) / SUM( b.val2 ) ) ) `percent`
FROM quest1 a , quest b
Note using aggregate functions without group by clause will result in a single row