Bonjour les gens,
Un peu d'aide siouplait.
Au début il y avait une table :
Cette table contient un id, et 2 numéro de téléphone qui crée un range (FROM->TO)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 create table NEW_TABLE ( id VARCHAR2(50) not null, NR_FROM VARCHAR2(10) not null, NR_TO VARCHAR2(10) not null )
Quelques exemples :
Je voudrais écrire en un select quelque chose qui m'ouvrirait les range pour me donner un résultat de ce type-ci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 insert into new_table (ID,NR_FROM,NR_TO) values ('ID1','0123456789','0123456789'); insert into new_table (ID,NR_FROM,NR_TO) values ('ID2','0123456790','0123456799'); insert into new_table (ID,NR_FROM,NR_TO) values ('ID3','0123456887','0123456890');
Pour info, les données sont introdutes de telle manière qu'un meme numéro ne se retrouve jamais dans 2 range différents. Autrement dit la combinaison ID-NUMERO est unique.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17ID NUMERO ----------------------------- ID1 0123456789 ID2 0123456790 ID2 0123456791 ID2 0123456792 ID2 0123456793 ID2 0123456794 ID2 0123456795 ID2 0123456796 ID2 0123456797 ID2 0123456798 ID2 0123456799 ID3 0123456887 ID3 0123456888 ID3 0123456889 ID3 0123456890
Il y a evidemment la solution de la fonction "pipelined" qui me renvoie un par un les NUMERO en passant dans une boucle, mais je voudrais éviter.
Je me demande si il existe une solution purement "select".
Une idée ?
Partager