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?