Bonjour,

Je suis débutant dans le SQL sous oracle et je me retrouve face à un problème que je n'arrive pas à résoudre. Je n'arrive pas bien non plus à formuler un intitulé à mon problème car je ne suis pas bien sûr qu'il vienne de ma requête imbriquée, voire même qu'une requête imbriquée soit nécessaire ...

J'ai deux tables c_int et c_con_int contenant plusieurs champs:

c_int: in_codint (le code de l'intervenant)/ ( d'autres champs sans importance que j'utiliserai pour mettre en forme avec des concat, genre nom prenom etc...)
c_con_int: cn_condint/cn_codresp ( le responsable de l'intervant, tous les responsables sont aussi intervenants et ont donc un codint)/cn_ordre ( l'ordre hiérarchique du responsable, il va de 1 à 2 mais peut etre null)

Mon but est d'afficher les différents responsables, les intervenants qu'ils gèrent et si ils gèrent un intervenant au niveau 2, je dois afficher le responsable numero 1 de cet intervenant.

Voici pour l'instant ma requête :

Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
select 
gestio.in_codint,
cn_ordre,
interv.in_codint,
decode(cn_ordre,2, gestio.in_codint,
(select gestio.in_codint from c_con_int Join c_int interv on interv.in_codint=cn_codint Join c_int gestio on gestio.in_codint = cn_codresp where cn_ordre=1 and (select in_codint from c_int )=interv.in_codint),'')
from c_con_int
Join c_int interv on interv.in_codint=cn_codint
Join c_int gestio on gestio.in_codint = cn_codresp
where cn_ordre is not null ;

Elle me renvoie l'erreur "sous-requête ramenant un enregistrement de plus d'une ligne" mais je n'arrive pas à afficher spécialement le codint du responsable uniquement

Voila, j'espère avoir été clair, j'aimerais une piste de reflexion, un indice car je bloque sur cette requête depuis un moment.

Merci d'avance