select s.store_name, s.store_id, s.link, s.discount_desc, s.reb_comm_perc, c.coupon_id
from stores s
left outer join coupons c on c.store_id =s.store_id
order by s.store_name
group by s.store_name
That will work. But it will mess up the c.coupon_id, only the first will be returned. I recommend that you count how many coupon_ids there is instead, then it is easy to determine what to do:
select s.store_name, s.store_id, s.link, s.discount_desc, s.reb_comm_perc, COUNT(c.coupon_id)
from stores s
left outer join coupons c on c.store_id =s.store_id
order by s.store_name
group by s.store_name
Note that I have never managed to learn if group by or order by should be first. I usually manage to place it wrong, you just have to check that out.