If the band had come to the library, he would have gotten the CD.

Is it good English?

Can I say

If the band had come to the library, he should have gotten the CD


...he should have the CD.

I think the first one is the good one. Please let me know if I'm right.


I agree with you; the first one is the good one.

While it is grammatically correct, should have in the sense of the meaning of would have in the first person is falling out of use. Most of the time, should has the meaning of ought to, as Dmandy mentions. However, should can simply be the past tense of shall as well, especially when used in the first person.

I shall go to the fair tomorrow.
I should have gone to the fair yesterday, but I was unwell.

This does not have the sense that I ought to have gone yesterday. Rather, it has the exact meaning of the more usual (at least in AmE) "I would have gone to the fair yesterday, but I was unwell."

The "correct" use of shall (which most of us don't use much any more) differs from first to second and third person. In the first person, shall signifies a simple statement of expectation, whereas will signifies an intent.

I shall go downtown this afternoon.
I will speak whether you try to stop me or not.

In the second and third persons, this is reversed.

You will need a jacket, as it's going to be cold.
Congress shall make no law respecting an establishment of religion...

The first is a statement of expectation, while the second states a requirement. (Nowadays, the word shall in the third person most often occurs in laws and technical specifications.) This is why the word should has the sense of ought to; it derives from the sense of shall as a requirement made of another person or entity. (The actual word derives from the OE sculan, meaning to have to, to owe, or must. The first person singular is sceal, pronounced pretty much the same as shall.)

Wikipedia: Shall and Will (which is well worth reading if you want to learn the usages in some detail) gives an interesting example of the difference:

I shall drown; no one will save me! (expresses the expectation of drowning, simple expression of future occurrence)

I will drown; no one shall save me! (expresses suicidal intent: first-person will for desire, third-person shall for "command")

It's fair to say that you won't go wrong using will instead of shall and only using should in the sense of ought to. However, you may run across these other usages, so it's a good idea to understand them to some degree.

  • 1
    "Should have" makes me think of detective novels. "If he didn't kill her, he should have an alibi." This is perfectly acceptable and in no way going out of use. – Catija Jul 30 '15 at 5:44
  • I haven't stated otherwise. In your example, you are using "should have an alibi" in the sense of "ought to have an alibi" which as you say is in no way going out of use. If you will have another look at the first example I've given along with the subsequent explanation, you should see the distinction that I'm drawing. – BobRodes Jul 30 '15 at 6:12
  • 1
    But there's nothing preventing the original sentence from having that meaning, too. The question is ambiguous about what "should have" means... why couldn't the OP also imply "ought to" in addition to "would have"? Maybe I don't understand what the "third conditional" is but it seems like most of your answer is about "will" and "shall" and I'm not sure I understand why. – Catija Jul 30 '15 at 6:14
  • I thought about that too, and of course it's grammatically correct, if a bit awkward. In fact, I have trouble making sense out of the scenario it describes: the band didn't show, but if it had, he ought to have gotten a CD. (I was thinking of suggesting "If the band came...he should have gotten the CD" but maybe that would only confuse things further.) With the meaning of "should" that I described in my post, both of the OP's sentences have an equivalent meaning, although the second one is not very common any more. So, I went for that side of the ambiguity. – BobRodes Jul 30 '15 at 6:31
  • The point I was making in my answer was that "should" can be used as the equivalent of "would" in the third conditional, which usage is more common in England than the US. The comparison of "will" and "shall" is to show the parallel between "shall" used to connote obligation and "should" having a similar connotation; both words derive from forms of the OE sculan which means must, etc. – BobRodes Jul 30 '15 at 6:42

Use the phrase should have to say that a different action was recommended in the past.

Use could have to talk about possibilities : if something had been different in the past.

The phrase would have expresses more certainty about the results than could have

In this particular sentence using either the phrase would have or could have make the most sense grammatically


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.