Firstly rename 2 of the fields called SALES to say:
That will eliminate the unwanted joins you have.
Then you probably need to add a Master Calendar, as per page 5 of this pdf Generating missing data.pdf
I expect you;ll need to change all you date filed names to the same name to join on them and onto the Calendar.
Your budget is at the Month level so that is level you need to do yo comparisons at.
Best Regards, Bill
when you want to compare sales present in sales, sales history and budget tables rename those sales fileds as sales and sales_budget and sales_history respectively and link all the tables using dates column you can create date as link_date and month(date) as link moth in sales table and use link_date as key between sales and sales history and use link_month as key between sales and sales_budget. Then the loops will not be formed.