print range between two patterns if it contains a pattern within the range

I want to print between the range two patterns if a particular pattern is present in between the two patterns. I am new to Unix. Any help would be greatly appreciated.

e.g.

Pattern1
Bombay
Calcutta
Delhi
Pattern2

Pattern1
Patna
Madras
Gwalior
Delhi
Pattern2

Pattern1
Guwahati
Calcutta
Indore
Pattern2

I want to select the block which contains "Calcutta". So the desired output is

Pattern1
Bombay
Calcutta
Delhi
Pattern2

Please help !!!!!!!!!! Thanks again

Given myFile:

Pattern1
Bombay
Calcutta
Delhi
Pattern2

Pattern1
Patna
Madras
Gwalior
Delhi
Pattern2

Pattern1
Guwahati
Calcutta
Indore
Pattern2

'Calcutta' appears in 2 different blocks.

nawk '/Calcutta/' RS= FS= ORS='\n\n' myFile

Thanks so much...............