Bonjour à tous, j'ai un petit probleme avec une requete qui me permet de faire une somme sur un champ de type ENUM.

Ma requete :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
SELECT a.Axe, i.Effet, SUM(i.Intensite)
FROM Viglopilo_Axe a, Viglopilo_Influence i, Viglopilo_Projet p
WHERE a.Id_Projet=p.Id_Projet AND
          p.Client='". $client ."' AND
          i.Id_Axe=a.Id_Axe AND
          i.Effet IS NOT NULL AND
          i.Intensite IS NOT NULL
GROUP BY a.Axe, i.Effet
j'obtient le résultat :
Axe Effet SUM( i . Intensite )
Axe1 + 5
Axe1 - 2
Axe2 + 3
Axe2 - 3
Axe3 - 5
Axe3 +/- 2
Axe4 + 4
Axe4 - 3
Axe4 +/- 2
alors que quand j'execute la requete :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
SELECT a.Axe, i.Effet, i.Intensite, COUNT(i.Intensite)
FROM Viglopilo_Axe a, Viglopilo_Influence i, Viglopilo_Projet p
WHERE a.Id_Projet=p.Id_Projet AND
          p.Client='test' AND
          i.Id_Axe=a.Id_Axe AND
          i.Effet IS NOT NULL AND
          i.Intensite IS NOT NULL
GROUP BY a.Axe, i.Effet, i.Intensite
j'obtient le résultat :
Axe Effet Intensite COUNT( i . Intensite )
Axe1 + 3 2
Axe1 + 1 1
Axe1 - 2 1
Axe2 + 3 1
Axe2 + 2 1
Axe2 - 1 1
Axe3 - 2 1
Axe3 - 1 1
Axe3 +/- 2 1
Axe4 + 0 1
Axe4 - 1 1
Axe4 +/- 2 1
qui est la bonne réponse.

Le champ Axe est un text,
Effet est un enum('-', '+', '+/-'),
Intensite est un enum('0', '1', '2', '3').

Pourquoi les deux requetes ne renvoient-il pas des résultats logiques?