假设 基础商品表 goods(plucode,.....)
最后改为
select t.*
from (select plucode,sum(counts) as counts,sum(cost) as cost,sum(amount) as amount
from ##tmp_sales where amount>0 group by plucode
union all
select plucode,0 as counts,0 as cost,0 as amount
from goods where plucode not in (select distinct plucode from ##tmp_sales where amount>0)) t