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 :
j'obtient le résultat :
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
alors que quand j'execute la requete :Axe Effet SUM( i . Intensite )
Axe1 + 5
Axe1 - 2
Axe2 + 3
Axe2 - 3
Axe3 - 5
Axe3 +/- 2
Axe4 + 4
Axe4 - 3
Axe4 +/- 2
j'obtient le résultat :
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
qui est la bonne réponse.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
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?
Partager