The best practice in databases is to always have date field in one single field. By separating the month field, you have lost ability to sort or group them by date, and this is what is causing this to be a nightmarish problem.

Make this change and the problem will become much simpler.