Bonjour,

Je dispose de 2 bases de données identiques (aussi bien au niveau structure que données) l'une est sous MySQL4 et l'autre sous MySQL5.

Voici une requête qui ne me ramène qu'un seul enregistrement sous MySQL5 contre 25 sous MySQL4:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
SELECT SQL_CALC_FOUND_ROWS MA.ART_ID 'ART_ID', MA.ART_REFERENCE_SAARI 'ART_REFERENCE_SAARI',
MA.ART_DESIGNATION_SAARI 'ART_DESIGNATION_SAARI',
MA.ART_UNITE_VENTE 'ART_UNITE_VENTE', MCA.CAT_LIBELLE 'CAT_LIBELLE',
MFA.FAM_INTITULE_SAARI 'FAM_INTITULE_SAARI',
MA.ART_PU_HT 'ART_PU_HT', MA.ART_PU_HT*1.196 'ART_PU_TTC', "" QTT, "" QTT2, SUM(MAS2.AD_QUANTITE) 'AD_QUANTITE'
 
FROM `MSV_ARTICLE` MA 
INNER JOIN `MSV_FAMILLE` MFA ON (MFA.FAM_ID = MA.FAM_ID) 
INNER JOIN `MSV_CATALOGUE` MCA ON (MCA.CAT_ID = MFA.CAT_ID) 
LEFT JOIN `MSV_ARTICLE_STOCK` MAS2 ON ( MA.ART_ID = MAS2.ART_ID ) 
WHERE 1=1 AND MA.ART_SUPPRIME = 'N' AND MA.FAM_ID = '31' 
GROUP BY 'ART_ID' 
ORDER BY ART_ID ASC 
LIMIT 0,25
Est ce que quelqu'un aurait une idée du pourquoi?

Merci d'avance pour vos réponses.


EDIT:
Je viens de trouver le problème en cherchant par tatonnement, il faut enlever les quotes dans le group by...
Alors la par contre je comprend vraiment pas pourquoi... L'essentiel c'est que cela fonctionne!