Figured it out, I was going about it all wrong, Pretty Tricky you don't want to see this Execution Plan! 
Create View dpart1 asselect Ordernum, DateShip from MasterOrderwhere (sship = 0)Create View InvAmount asselect Itemnum, Sum(Amount) As InvTotal from MasterInventoryGroup by ItemNumCreate Procedure DemandDates@StartDate DateTime, @EndDate DateTime asIf @StartDate is null or @EndDate is nullbegin RAISERROR('Missing Start or End Dates', 14,1)ReturnendSelect do.ItemNum, (mp.Part+ Mp.Color) as ItemInfo, mp.[Print] as Printed, Sum(do.Qty) as NeedBoxes, ai.InvTotalFrom dpart1 inner join detailorder as doon dpart1.ordernum = do.ordernuminner join Invamount as aion do.ItemNum = ai.ItemNuminner join MasterParts as mpon do.ItemNum = mp.ItemNumwhere dpart1.dateship > @StartDate and dpart1.dateship < @EndDateGroup by do.ItemNum, mp.Part, mp.Color, mp.[Print], ai.InvTotalDemandDates @StartDate = '04-16-2004', @EndDate = '05-16-2004'