Tengo una tabla T1, contiene un valor NAME (no exclusivo) y un rango de fechas (D1 y D2 que son fechas) Cuando NAME es el mismo, hacemos una unión de la fecha rangos (por ejemplo, B).ORACLE SQL Intervalos de intervalo de fechas
Pero como resultado (X), tenemos que hacer intersección de todos los periodos de tiempo
Editar: Tabla T1
NAME | D1 | D2
A | 20100101 | 20101211
B | 20100120 | 20100415
B | 20100510 | 201
C | 20100313 | 20100610
Resultado:
X | 20100313 | 20100415
X | 20100510 | 20100610
Visualmente, este dará lo siguiente:
NAME : date range
A : [-----------------------]-----
B : --[----]----------------------
B : ----------[---------------]---
C : -----[--------]---------------
Resultado:
X : -----[-]----------------------
X : ----------[---]---------------
alguna idea de cómo conseguir que el uso de SQL/PL SQL?
Puede intentar superposiciones - sin embargo, es característica no documentada, http://oraclesponge.wordpress.com/2008/06/12/the-overlaps- predicado/y solo comprueba que el rango de datos se superpuso período –
Puede mostrar un ejemplo de columna/fila real de los valores de columna de su tabla y los valores de datos que desea que devuelva esta consulta SQL –
Las intersecciones de fecha en el resultado son para que dos nombres? A y C son nombres diferentes y los dos rangos para B no parecen tener el rango de fechas en cuestión. –