Interseções do intervalo de datas do ORACLE SQL

Eu tenho uma tabela T1, ela contém um valor NAME (não exclusivo) e um período (D1 e D2, que são datas). Quando NAME é o mesmo, fazemos uma união dos períodos (por exemplo, B).

Mas, como resultado (X), precisamos fazer a interseção de todos os períodos

Editar: Tabela T1

NAME | D1       | D2
A    | 20100101 | 20101211
B    | 20100120 | 20100415
B    | 20100510 | 20101230
C    | 20100313 | 20100610

Resultado:

X    | 20100313 | 20100415
X    | 20100510 | 20100610

Visualmente, isso fornecerá o seguinte:

NAME        : date range
A           : [-----------------------]-----
B           : --[----]----------------------
B           : ----------[---------------]---
C           : -----[--------]---------------

Resultado:

X           : -----[-]----------------------
X           : ----------[---]---------------

Alguma idéia de como fazer isso usando SQL / PL SQL?

questionAnswers(1)

yourAnswerToTheQuestion