Bonjour,
Le titre n'est peut-être pas explique mais ce que je souhaite est de répéter des lignes d'une table A selon les valeurs d'une table B.
Le bout de script suivant et quelques explications permettront de comprendre je pense.
La table A représente des valeurs valable à date.
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
17
18
19
20
21 with tabA AS ( select 201101 as date, 'A' as val UNION ALL select 201103, 'B' UNION ALL select 201107, 'C' ), tabB as ( select 201101 as date UNION ALL select 201102 as date UNION ALL select 201103 as date UNION ALL select 201104 as date UNION ALL select 201105 as date UNION ALL select 201106 as date UNION ALL select 201107 as date UNION ALL select 201108 as date UNION ALL select 201109 as date ) select tabA.val , tabA.date as dateval , tabB.date as date from tabA, tabB
La table B représente une liste de dates pour lesquelles je souhaite obtenir les valeurs valables.
Je souhaite donc filtrer la requête précédente pour n'obtenir quel les lignes pour lesquelles la valeur courante est toujours valable, i.e. il n'y a pas eu de nouvelle définition de valeur.
Le résultat souhaité devrait être celui-ci :
Merci pour votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 select 201101 as date, 'A' as val UNION ALL select 201102 as date, 'A' as val UNION ALL select 201103 as date, 'B' as val UNION ALL select 201104 as date, 'B' as val UNION ALL select 201105 as date, 'B' as val UNION ALL select 201106 as date, 'B' as val UNION ALL select 201107 as date, 'C' as val UNION ALL select 201108 as date, 'C' as val UNION ALL select 201109 as date, 'C' as val
Partager