J'ai un tableau T1, il contient une valeur NOM (non unique), et une plage de dates (D1 et D2 qui sont des dates) Lorsque NOM sont identiques, nous faisons une union de la date gammes (par exemple B).ORACLE SQL Entrées de la plage de dates
Mais comme résultat (X), nous devons faire intersection de toutes les plages de dates
Edit: Tableau T1
NAME | D1 | D2
A | 20100101 | 20101211
B | 20100120 | 20100415
B | 20100510 | 201
C | 20100313 | 20100610
Résultat:
X | 20100313 | 20100415
X | 20100510 | 20100610
Visuellement, cette donnera ce qui suit:
NAME : date range
A : [-----------------------]-----
B : --[----]----------------------
B : ----------[---------------]---
C : -----[--------]---------------
Résultat:
X : -----[-]----------------------
X : ----------[---]---------------
Toute idée comment obtenir que l'utilisation de SQL/PL SQL?
Vous pouvez essayer des chevauchements - mais il est fonction non documentée, http://oraclesponge.wordpress.com/2008/06/12/the-overlaps- prédicat/et ses seules vérifications que la plage de données a chevauché la période –
Pouvez-vous afficher un exemple réel de colonne/ligne des valeurs de colonne de votre table et les valeurs de données que vous voulez renvoyer par cette requête SQL –
Les intersections de date dans le résultat sont pour lequel deux noms? A et C sont des noms différents et les deux plages de B ne semblent pas avoir la plage de dates en question. –