Problème avec une requête (soupçon orienté vers le GROUP BY) [Résolu]

Signaler
Messages postés
51
Date d'inscription
jeudi 29 mars 2007
Statut
Membre
Dernière intervention
7 février 2020
-
Messages postés
51
Date d'inscription
jeudi 29 mars 2007
Statut
Membre
Dernière intervention
7 février 2020
-
Bonjour,

J'ai un problème avec une requête en SQL.
Apparemment mon GROUP BY ne fonctionnerait pas bien (enfin comprenait que j'ai du me planter lamentablement dans la requête loool).

Voici la reqête SQL :

SELECT convert(varchar(10), CNDTCR, 103) as "Date",
    CNLITM,
    IBDSC1,
    ABALPH,
    SUM(CNPQOH),
    SUM(CNUORG),
    CNLOTN,
    CNDELN,
    CNRORN,
    CNNREC
    FROM F57700, SH0101, SHARTICLE
    WHERE CNLOCN = 'RECA' AND
    CNLOTS = 'A' AND
    CNVEND = ABAN8 AND
    CNLITM = IBLITM AND
    CNMCU = IBMCU AND
    CNDTCR >= convert(datetime, '11/11/2008', 103)
    GROUP BY CNLOTN, CNLITM, CNDTCR, IBDSC1, ABALPH, CNDELN, CNRORN, CNNREC
    ORDER BY convert(varchar(10), CNDTCR, 103), CNLITM

Bon c'est vrai que balancé comme ça c'est pas tres explicite, mais je vois pas trop quelles informations je peux donner en plus.

Comment je sais que la requête ne fonctionne pas : par exemple les trois premieres ligne de mon résultat sont dissociées alors quelle devrait ne faire qu'une seule ligne avec le total des champs CNPQOH et CNUORG.

Je suis dispo bien sûr pour donner toutes informations supplémentaires pour que vous puissiez me dépanner dans les meileurs conditions.

En vous remerciant d'avance

6xavier6

3 réponses

Messages postés
21
Date d'inscription
vendredi 16 janvier 2009
Statut
Membre
Dernière intervention
15 mai 2009
1
bonjour,
SELECT convert(varchar(10), CNDTCR, 103) as "Date",
    CNLITM,
    IBDSC1,
    ABALPH,
    SUM(CNPQOH),
    SUM(CNUORG),
    CNLOTN,
    CNDELN,
    CNRORN,
    CNNREC
    FROM F57700, SH0101, SHARTICLE
    WHERE CNLOCN = 'RECA' AND
    CNLOTS = 'A' AND
    CNVEND = ABAN8 AND
    CNLITM = IBLITM AND
    CNMCU = IBMCU AND
    CNDTCR >= convert(datetime, '11/11/2008', 103)
    GROUP BY convert(varchar(10), CNDTCR, 103) ,
    CNLITM,
    IBDSC1,
    ABALPH,
CNLOTN,
    CNDELN,
    CNRORN,
    CNNREC

    ORDER BY convert(varchar(10), CNDTCR, 103), CNLITM
Messages postés
51
Date d'inscription
jeudi 29 mars 2007
Statut
Membre
Dernière intervention
7 février 2020

A non j'ai fait aussi une autre modification.

Le champs IBDSC1 est un champs assez long. Il est possible que SQL ne le vois pas en totalité et tronque la clause GROUP BY en plein milieu.

Je dit ceci en tant que théorie, je ne l'ai pas tester, c'est peut être faux mais si vous avez ce problème essayer de mettre les grands champs à la fin de la requête.
Messages postés
51
Date d'inscription
jeudi 29 mars 2007
Statut
Membre
Dernière intervention
7 février 2020

Loool, j'ai pas tout comprit,
cette méthode je l'avais essayer plusieurs fois avec un gros message d'erreur à chaque fois. Je me suis dit allez retente une fois et la c'est passé.

Tu as dû me donner une masse d'onde positive merci.