select goods.id,name,weight,total
from goods
left join 
(select goods_id,sum(count) total
from trans
group by 1
having sum(count)>20
)a
on goods.id = a.goods_id
where weight<50
order by 1