The question has arisen whether "I have been having a headache since this morning." is correct. I think it is incorrect but I would say "I have been having headaches on and off recently." Is the second sentence correct and if so why? What is the difference?
I would appreciate any help you can offer me.
You are using the present perfect progressive tense, HAVE + BEEN + -ING (present participle), which gives the idea that one event is in progress immediately before, up to, or until another time or event. The perfect progressive tenses are used to express the duration of the first event.
In your first example, the event is the 'having a headache' and the duration is 'since this morning'.
In your second example, you're 'having headaches' and the duration is 'on and off recently'.
They're both grammatically correct.
I might say the same thing as, 'I've had a headache since this morning'. This uses the perfect tense, HAVE + past participle, which is used to express that one event happens before another. My headache started in the morning (since), before now.
Please note the following reference: Fundamentals of English Grammar, 2nd Edition by Betty Azar.
I hope this answers your question.