As a non-native speaker this is very difficult for me. I'd like to know how the meaning differs and which ones is/are correct please.
In this scenario, 2 people are talking in the present and speculating about something Andrew may or may not have done in the past.
If Andrew has had lunch at his uncle's house, he would have seen the strange dining table and would be able to tell us the color.
If Andrew has had lunch at his uncle's house, he will have seen the strange dining table and would be able to tell us the color.
If Andrew had had lunch at his uncle's house, he would have seen the strange dining table and would be able to tell us the color.
If Andrew had had lunch at his uncle's house, he will have seen the strange dining table and would be able to tell us the color.