Bonjour,
Je dois créer une vue, avec pour certains champs des "case" dépendant des valeurs d'autres champs. En gros :
Par exemple :
mais là j'ai l'erreur
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 CREATE OR REPLACE VIEW "maVue" ("ID_RTN","TYPE_RTN") AS (SELECT -- 1 -- ID_RTN (select ...) as ID_RTN, -- 2 -- TYPE_RTN (SELECT case when ID_RTN = 1 then 'A' else NULL end FROM dual) as TYPE_RTN FROM maTable WHERE {autres conditions)
Puisqu'il ne connait pas (encore) cet alias de colonne, j'ai voulu lui redonner tout le select qui permet de remplir cette colonne...SQL Error: ORA-00904: "ID_RTN": invalid identifier
00904. 00000 - "%s: invalid identifier"
mais là non plus : le select peut me renvoyer plusieurs lignes, je n'ai pas de moyen de lui préciser que je veux "la valeur du champ pour la ligne correspondant à celle sur laquelle on est déjà" (si vous me dites que c'est pas clair, je ne me vexerai pas...).
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 CREATE OR REPLACE VIEW "maVue" ("ID_RTN","TYPE_RTN") AS (SELECT -- 1 -- ID_RTN (select ...) as ID_RTN, -- 2 -- TYPE_RTN (SELECT case when (select ...) = 1 then 'A' else NULL end FROM dual) as TYPE_RTN FROM maTable WHERE {autres conditions)
Il y a-t-il une solution ?! J'aurais aimé ne pas avoir à passer par une procédure stockée...![]()
Partager