Re: would not have vs would not have had
1. If he had seen a dentist regularly when he was a child, he would not have so many decayed teeth .
2. If he had seen a dentist regularly when he was a child, he would not have had so many decayed teeth.
They are both correct, and there may be little difference in meaning in practice. The first says that he has decayed teeth now, the second that he had decayed teeth in the past; he may still have them.
Please do not edit your question after it has received a response. Such editing can make the response hard for others to understand.