select
t.id,t.name,t.weight,t1.counts
from goods t
right join
(select distinct goods_id, sum(count)over(partition by goods_id) counts
from trans
) t1
on t.id=t1.goods_id
where t.weight<50 and t1.counts >20
order by 1
select
t.id,t.name,t.weight,t1.counts
from goods t
right join
(select distinct goods_id, sum(count)over(partition by goods_id) counts
from trans
) t1
on t.id=t1.goods_id
where t.weight<50 and t1.counts >20
order by 1