Bonjour ici
J'ai un problème qui dépasse mes capacités x), j'ai besoin d'un requête de sélection assez particulière.
Voici les 2 tables sur lesquelles je travaille:
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 Table "LISTE_A" IDA NUMERO ------ ---------- 1 545441564 2 254657484 3 565642546 4 155465124 Table "PLAGE" IDP PL_DEBUT PL_FIN --- --------- -------- 1 2106 2780 2 5300 6000
J'ai besoin d'une requête (ou d'une vue) qui me fasse le travail suivant:
Ce qu'il faut que cela fasse:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Table "RESULTAT" IDA IDP ---- ----- 1 2 2 1 3 2 4
Pour chaque IDA de LISTE_A, je dois trouver l' IDP correspondant, de façon à ce que le début (partie gauche) du numéro champ NUMERO de LISTE_A soit compris entre le les valeurs des champs PL_DEBUT et de PL_FIN de PLAGES.
Par exemple, pour la première ligne de LISTE_A, j'ai lu numéro 545441564. Il faut que je trouve la ligne de la table PLAGE dont PL_DEBUT et PL_FIN encadrent la valeur "5454". L'IDP 2 correspond car 5300 < 5454 < 6000 (le nombre de chiffres de PL_DEBUT et de PL_FIN est identique pour un même upplet donné de PLAGE, mais il n'est pas forcement le même d'une ligne à l'autre)
Les IDA des lignes de LISTE_A ne peuvent ainsi être associés doivent apparaître dans la réponse (comme le IDA=4 de mon exemple)
J'paye mon champagne à celui qui me trouve la solution
Partager