First - you need to declare the Interest column with some decimal places or your interest values are all going to be zero. Here is a query that will return the interest amount for each row in TBLPosts.Create Table TBLPosts(fDate datetime,amount money)Create Table TBLInterest(StartDate datetime, EndDate DateTime, Interest decimal(5,2))--The dates can be any random dates, and same goes with the amountsinsert Into TBLPosts(fDate,amount)Select '01/02/2006',20.00UnionSelect '02/05/2006',24.00unionSelect '03/01/2006',21.00unionSelect '04/02/2006',25.00-- Again all dates can vary from user input along with the interestInsert into TBLInterest(Startdate,EndDate,Interest)Select '01/01/2006','03/31/2006',.05 -- 5%unionselect '04/01/2006','12/31/2006',.02 -- 2%select P.fDate, P.amount, I.Interest * P.amount * (cast(datediff(m, P.fDate, I.EndDate) as money) / cast(datediff(m, I.StartDate, I.EndDate) as money)) AS InterestAmountfrom TBLPosts Pinner join TBLInterest I on P.fDate between I.StartDate and I.EndDate