see
http://visakhm.blogspot.com/2010/02/generating-calendar-table.html
use it like
SELECT m.[Date],m.company,COALESCE(n.actual,0.00) AS actual
FROM
(
SELECT f.[Date],t.company
FROM dbo.CalendarTable(@startdate,@enddate,0,0) f
cross join (select distinct company from yourtable)t
)m
LEFT JOIN YourTable n
ON n.company = m.company
AND n.[Date] = m.[Date]
@startdate and @enddate represent date range between which you want transactions to be listed. it can be parameterised to take values as input from user
------------------------------------------------------------------------------------------------------
SQL Server MVP
http://visakhm.blogspot.com/