Left JoIn - 3 tables - Group_Concat - Score
Bonjour,
Je désire affecter un score à chaque relation trouvée lors d'une requête avec un lEFT JOIN. Mes données sont réparties sur 3 tables.
Table expert
expert_id | name
1 | toto
2 | tutu
Table expert_skill
skill_id | expert_id
1 | 1
2 | 1
3 | 1
2 | 2
3 | 2
Table skill
skill_id | skill_name
1 | cool
2 | trop cool
3 | top
Lorsque j'effectue la requête suivante, le score (totalscore) résultant de la requête n'est pas correct. Lors de la recherche, la clause GROUP BY interfère avec le comptage des scores.
Code:
1 2 3 4 5 6 7 8
| SELECT *,
(CASE WHEN expert_skill.skill_id = '2' THEN 1 ELSE 0 END) AS finalscores
FROM
expert
LEFT JOIN expert_skill ON expert.expert_id = expert_skill.expert_id
LEFT JOIN skill ON expert_skill.skill_id = skill.skill_id
GROUP BY
expert_id |
Voici le résultat obtenu
toto : score = 1
tutu : score = 0
Une idée ?
Merci