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:
Est ce que quelqu'un aurait une idée du pourquoi?
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
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!
Code : Sélectionner tout - Visualiser dans une fenêtre à part GROUP BY ART_ID
Partager