J'essaie d'exécuter une requête dans une base de données ORACLE mais je continue d'échouer avec l'erreur suivante "identifiant I.ID invalide". Ce que j'essaie de faire est de sélectionner un résultat donné à partir d'une requête imbriquée à l'aide d'un filtre censé interagir avec la requête imbriquée et la requête de niveau supérieur.Requête SQL oracle imbriquée
The query is:
SELECT i.name, WOW.BI,WOW.BC, WOW.CP
from inv_investments i,
inner join (select
bi.COSTI BI,
bc.COSTI BC,
cp.COSTI AS CP
FROM
(select atom.COSTI from
(select odf.IF_CST_TOT COSTI
from prj_baselines bl
inner join odf_ca_baseline odf on odf.id = bl.id
WHERE i.id = bl.project_id
ORDER BY bl.created_date DESC) atom where rownum =1) cp,
(select odf.IF_CST_TOT COSTI
from prj_baselines bl
inner join odf_ca_baseline odf on odf.id = bl.id
where odf.if_budget = 1
AND i.id = bl.project_id) bi,
(select odf.IF_CST_TOT COSTI
from prj_baselines bl
inner join odf_ca_baseline odf on odf.id = bl.id
Where if_budget_corrente = 1
AND i.id = bl.project_id) bc ) WOW on wow.ID = i.ID
Savez-vous comment le réparer? Chaque fois que je s'enregistrer clause where d'une requête imbriquée (par exemple lorsque i.id = bl.project_id) je reçois l'erreur ...
Supposons-nous que chacune des sous-requêtes cp, bi et bc renvoie une ligne par projet/identifiant d'investissement? –