Bonjour,

je ne sais pas si le titre de mon post correspond vraiment à ce que je veux faire.

Je pense que c'est faisable mais je n'en suis pas sûr ... en tout cas je n'y arrive pas. si vous avez une idée ...

Voici ma requete :
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
22
23
24
25
26
27
28
29
with pmb as ( ...
	   )
   ,  cur as ( ...
          )
   , proj as ( ...
         )
SELECT DISTINCT proj.pid, proj.wbs_short_name, proj.wbs_name, pmb.obs_id, o.obs_name res , buResp.obs_name bu
		, first_value(pmb.base_type)  OVER (PARTITION BY pmb.orig_proj_id ORDER BY pmb.add_date DESC) pmbType
		, first_value(pmb.wbs_id) 	 OVER (PARTITION BY pmb.orig_proj_id ORDER BY pmb.add_date DESC) PMB
                , ...
FROM proj LEFT JOIN pmb ON proj.pid = pmb.orig_proj_id
	       LEFT JOIN cur ON proj.pid = cur.orig_proj_id
	      JOIN privuser.project p ON proj.pid = p.proj_id
	      JOIN privuser.obs o ON pmb.obs_id = o.obs_id
	      LEFT JOIN (
				SELECT obs_id, obs_name
				FROM (
					select obs_id, obs_name, level l
					from privuser.obs
					start with obs_id = 18872 --pmb.obs_id   >> ICI
					connect by prior parent_obs_id = obs_id),
					(
					select max(level) m
					from privuser.obs
					start with obs_id = 18872 --pmb.obs_id  >> ICI
					connect by prior parent_obs_id = obs_id) 
					WHERE l = m-3) buResp ON buResp.obs_id = pmb.obs_id  
WHERE p.project_flag='Y'
En fait pour les point notés >> ICI, la requete fonctionne quand je mets des valeurs en dur, mais lorsque je veux utiliser la valeur "dynamique" de mon select (la valeur commentée) je me retrouve avec l'erreur :

ORA-00904: "PMB"."OBS_ID" : identificateur non valide

Ma requete est-elle faisable ?

Merci d'avance