Bonjour,

Je cherche à faire une requête prélevant des informations dans 4 tables.
Elle consiste à présenter les résultats journaliers d’agents.
Voici la composition des tables :
AGENTS : ID, NOM, PRENOM, AGE
OBEJCTIFS : ID, DATE, CIBLE
DOSSIERS :ID, DATE, EFFECTUE
SYNTHESES : ID, BUREAU, HIVER, PRINTEMPS, ETE, AUTOMNE

Chaque dossier effectué créé une ligne dans la BDD.
La requête suivante fonctionne, mais donne plusieurs lignes pour une même date (pour les 2 premiers agents).

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
select
NOM ||' '|| PRENOM as “Nom Prénom”, BUREAU, DATE, EFFECTUE, CIBLE
from AGENTS
join SYNTHESES on (AGENTS.ID = SYNTHESE.ID)
join DOSSIERS on (AGENTS.ID = DOSSIERS.ID)
join OBJECTIFS on (AGENTS.ID = OBJECTIFS.ID) and (DOSSIERS.DATE = OBJECTIFS.DATE)
where ID = 1 and ID = 2
Le problème est que je souhaite présenter ces résultats de manière à avoir qu’une seule ligne par jour afin de pouvoir comparer les résultats aux cibles (toujours pour les 2 premiers agents).
J’ai tenté ceci qui me donne l’erreur 104 suivante : Invlalid expression in the select list (not contained in either an aggregate function or the GROUP BY clause).

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
select
NOM ||' '|| PRENOM as “Nom Prénom”, BUREAU, DATE, sum(EFFECTUE), CIBLE
from AGENTS
join SYNTHESES on (AGENTS.ID = SYNTHESE.ID)
join DOSSIERS on (AGENTS.ID = DOSSIERS.ID)
join OBJECTIFS on (AGENTS.ID = OBJECTIFS.ID) and (DOSSIERS.DATE = OBJECTIFS.DATE)
where ID = 1 and ID = 2
group by DATE
order by NOM, DATE
Je ne suis pas un expert en SQL et je blaire comme il faut avec celle-ci.
Quelqu'un aurait-il une solution?
Merci de votre aide,