The reason for his condition is most likely because of his food. What are you feeding him? He needs to be on a food with least fillers. So, if you're feeding Pedigree or such low quality food, you need to slowly wean him off it. That would be your first step. Next, if you are bathing him too often, you need to stop it. Dogs are not humans, they can live months without a bath. If you must bath him then start using oatmeal shampoo. The better quality oatmeal shampoo with less chemicals you can get, the better for his coat. Also, oat porridge for breakfast will also help.
No corn, wheat, milk in your dog food.