I took a test on causative verbs and I got all the answers correct except one. I understand why the first answer is not the right choice because the sentence specifies that the action should have taken a long time ago. Therefore, it is not about present. However, I don't understand why the second choice is the right one. Please advise. Thank you.
Q12 - You should .......... a long time ago
have it fixed
have had it fixed
- You should have it fixed.
This refers only to a future activity. It means "You should ask someone to fix it."
- You should have had it fixed a long time ago.
This refers to something that you failed to do in the past. It means "You should have asked someone to fix it a long time ago."
Does that help?