Bonjour.

Voici la requête qui me pose problème :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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