I'd write it this way, but it's not necessarily better than your way:
SELECT
u.data,
b.data,
b.things,
b.amt,
t.total
FROM u
INNER JOIN b
ON b.userid = u.userid
INNER JOIN (
select userid, SUM(amt) as total
from b
group by userid
) as t
ON t.userid = u.userid