bonjour

je demandais comment on pourrait formuler cette requete autrement :
select (select (nvl(cred,0))-(nvl(deb,0)) from solde s1
where societe=1 and compte like '92%' and
exercice = (select max(exercice) from solde s2 where
s1.societe=s2.societe and s1.compte=s2.compte))
+
(select (nvl(cred,0)-nvl(deb,0)) from solde s1
where societe=1 and compte like '92%' and
exercice = (select max(exercice)-1 from solde s2 where
s1.societe=s2.societe and s1.compte=s2.compte) and exists
(select 'x' from tab_erxercice c where c.societe=s1.societe and c.exercice=s1.exercice and c.encours='O')) solde
from dual
parce si je l'execute comme telle SQL me ceci :
ERROR à la ligne 1 :
ORA-01427: Sous-interrogation ramenant un enregistrement de plus d'une ligne
si on execute les requete séparement ca marche sans aucun probleme

merci de votre aide

table solde (compte,cred,deb,exercice);
table tab_exercice(exercice, encours);