Page 1 sur 1

Grosse requête... Utilisation Where Exist ??

Posté : 15 févr. 2007, 08:09
par brufis
Bonjour à tous...

J'ai requête du style cela

Code : Tout sélectionner

SELECT CONT.MAIAFF, CONT.MALNAF, CONT.MDDCDE, CONT.MDDCFI, CONT.MDDPRC, CONT.MDLNOM, CA.IDRUBRIQUE AS IDRUBR, CA.IDCOMPTEANNEXE AS IDCPTEANNEXE, (SELECT CUMULMASSE FROM WEBAVS.CACPTRP WHERE ANNEE = annee-1 AND CA.IDRUBRIQUE = IDRUBR AND CA.IDCOMPTEANNEXE = IDCPTEANNEXE) AS MASSE1 , (SELECT COUNT(*) FROM WEBAVS.CIECRIP AS CI WHERE CONT.MAIAFF = CI.KBITIE AND CI.KBNANN = annee-1) AS NBCI FROM WEBAVS.AFCONTP AS CONT INNER JOIN WEBAVS.AFAFFIP AS AF ON (CONT.MAIAFF = AF.MAIAFF) INNER JOIN WEBAVS.TIROLEP AS ROLE ON (AF.HTITIE) = ROLE.HTITIE) INNER JOIN WEBAVS.CACPTAP AS CA ON (ROLE.HTITIE = CA.IDTIERS) INNER JOIN WEBAVS.CACPTRP AS CPTR ON (CA.IDCOMPTEANNEXE = CPTR.IDCOMPTEANNEXE) INNER JOIN WEBAVS.CARUBRP AS RU ON (CPTR.IDRUBRIQUE = RU.IDRUBRIQUE) INNER JOIN WEBAVS.AFASSUP AS ASS ON (RU.IDRUBRIQUE = ASS.MBIRUB)
En fait, je dois faire un requête interne pour laquelle il me faut la valeur CA.IDRUBRIQUE AS IDRUBR et CA.IDCOMPTEANNEXE AS IDCPTEANNEXE retourné de la première requête...

Est-ce que cela est faisable ? On m'a parlé de la clause Where Exist, mais je sais pas comment l'appliquer dans ce cas...

Je suis prêt à suivre toutes les pistes... Mais de préférence, il ne faudrait faire qu'une seule requête...

Un énorme merci d'avance... ça fait plusieurs jours que je planche dessus....