Да. Вы ДЕЙСТВИТЕЛЬНО хотели бы использовать группу с агрегацией (count ()) здесь.
SELECT p.field,p.field2.p.field3,ml.f1,ml.f2,ml.f3,mv.f1,mv.f2,mv.f3, count(mv.*) FROM dbo.Promotion P
INNER JOIN dbo.Merchant_Location ML ON P.LocationID = ML.LocationID
INNER JOIN dbo.Merchant_Views MV ON MV.LocationID = P.LocationID
and MV.ClickDate >= P.startDate
and MV.ClickDate <= P.expireDate
and MV.Status <> 'printed'
WHERE P.MerchantID=@MerchantID AND PostType=@PostType
group by p.field,p.field2.p.field3,ml.f1,ml.f2,ml.f3,mv.f1,mv.f2,mv.f3