yep use left join
select b.order_id ,b.billing_id,transaction_type,marketing_id, b.billing_date, order_date
, activestartdate, activeenddate
FROM billing b
LEFT JOIN
( SELECT marketing_id, order_date
, activestartdate, sactiveenddate
from
orders o
inner join orderdetails do
on o.dimorder_id = do.dimorder_id
) o
on o.order_id = b.order_id
and b.billing_date between do.activestartdate and do.activeenddate
order by b.order_id
------------------------------------------------------------------------------------------------------
SQL Server MVP
http://visakhm.blogspot.com/