Okay, now I understand.
Please check.
I went to his home last Saturday [or just Saturday] to borrow a hammer because I thought he would/might [either is fine] have one.
When we talk about past, we just have to use "would" or "might" if there was a probability of that person having the thing that we wanted or thinking about at that exact time in past. Are you saying "just" in the sense of "only"? If you are, then "would" means it's probable and "might" means it's possible.
We don't have to use "might have done" here. We don't have to use "have done." Using "might" is your choice.
Earlier I used to use "might have had" only for past. Using "had" for the past is correct.
So when we use "might have had" we are talking about an earlier time like "last month I went to his house to borrow hammer because I thought he might have had it," [no parentheses] it it means that I am saying that he had a hammer somewhere in past but not at the time I went to his home". That does not make sense. You wouldn't go to get the hammer if you knew he didn't have it now.
Sorry to bother you again and again, but I want to clear my doubt. Thank you very much for help.