Erreur ORA-00979 : not a GROUP BY expression sur Oracle9i
Bonjour.
Voici la requête qui me pose problème :
Code:
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 30 31 32 33 34 35
|
SELECT
tab1.CONTENT_ID
FROM
CONTENT tab1,
CONTENT_FILE tab2
WHERE
tab1.CONTENT_ID = 1000000000
AND tab1.CONTENT_ID = tab2.CONTENT_ID
AND (
SELECT
count(distinct tab3.CAPABILITY_ID)
FROM
CAPABILITY_CONTENT_FILE tab3
WHERE
tab3.CONTENT_FILE_ID = tab2.CONTENT_FILE_ID
)
=
(
SELECT
count(distinct tab4.CAPABILITY_ID)
FROM
CAPABILITY_CONTENT_FILE tab4
WHERE
tab4.CONTENT_FILE_ID = tab2.CONTENT_FILE_ID
AND tab4.CAPABILITY_ID IN (
SELECT
CAPABILITY_ID
FROM
CAPABILITY tab5
WHERE
tab5.CODE IN ( 'cap' )
)
)
; |
En l'exécutant, on obtient une erreur ORA-00979 : not a group by expression.
Pourtant, si on enlève l'une des premières clauses du where de plus haut niveau, alors l'exécution se passe sans problème.
Je suis un peu à court d'idées pour réussi à faire marcher cette requête donc toute aide est la bienvenue :-)
Merci.
Mickaël