Bonjour,

Je n'ai pas le code de la creation des tables, mais la requete devrait suffire. SPECIE_ID est la clef primaire de SPECIE, STUDY_ID celle de STUDY, AGENT_ID,STUDY_ID celle de STUDY_AGENT, AGENT_ID celle de AGENT.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
SELECT AGENT.AGENT_CODE, SPECIE.SPECIE_NAME
FROM SPECIE, STUDY, STUDY_AGENT, AGENT
WHERE SPECIE.SPECIE_ID = STUDY.SPECIE_ID
    AND STUDY.STUDY_ID = STUDY_AGENT.STUDY_ID
    AND STUDY_AGENT.AGENT_ID = AGENT.AGENT_ID
ORDER BY AGENT.AGENT_CODE, SPECIE.SPECIE_NAME
me donne:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
AGENT_CODE	SPECIE_NAME	
4-ABP                  Mouse	
4-ABP	             Mouse	
4-NQO	             Mouse	
4-NQO	             Rat	
4-NQO	             Rat	
4-NQO	             Rat	
4-NQO	             Rat	
5-MeC	             Mouse	
6-NC	             Mouse	
6-NC	             Mouse
Or je voudrais avoir comme resultat:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
AGENT_CODE	Mouse	Rat
4-ABP	            2	0
4-NQO	            1	4          	
5-MeC	            1	0
6-NC	            2	0
J'ai essaye

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
SELECT AGENT.AGENT_CODE, (
	SELECT COUNT(*)
	FROM SPECIE
	WHERE SPECIE.SPECIE_NAME = 'Rat'
		AND STUDY.SPECIE_ID=SPECIE.SPECIE_ID
		AND STUDY.STUDY_ID = STUDY_AGENT.STUDY_ID
		AND STUDY_AGENT.AGENT_ID = AGENT.AGENT_ID) AS Rat
FROM SPECIE, STUDY, STUDY_AGENT, AGENT
WHERE SPECIE.SPECIE_ID = STUDY.SPECIE_ID
	AND STUDY.STUDY_ID = STUDY_AGENT.STUDY_ID
	AND STUDY_AGENT.AGENT_ID = AGENT.AGENT_ID
GROUP BY AGENT.AGENT_CODE
mais j'ai l'erreur:

ERROR at line 5:
ORA-00979: not a GROUP BY expression

Je suis un peu perdu dans les group by que je dois faire, dans la premiere et la deuxieme requete. Auriez-vous une idee?

Merci d'avance,

Romain