select b.clientname,a.goodsname,
(select ','+convert(varchar(10),detailid)
from C c left join tb_soldbill d on c.detailid=d.id
where d.clientname=b.clientname and c.goodsname=a.goodsname
for xml path('')
)
from A a
left join B b on a.Detailid=b.id
group by b.clientname,a.goodsname