IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

Problème somme sur une requête


Sujet :

Langage SQL

  1. #1
    Membre actif
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2013
    Messages : 60
    Par défaut Problème somme sur une requête
    Bonjour,

    J'ai un problème lorsque je fais une somme sur une requête, la requete bonne sans somme se présente de cette facon :

    Nom : Requete_sans_somme.JPG
Affichages : 185
Taille : 181,6 Ko

    et voici les données que je récupére :

    Nom : Resultat_requete_sans_somme.JPG
Affichages : 137
Taille : 83,1 Ko

    Voici la requete avec la somme qui est faite sur la quantité et qui est identique à la premiére sinon :

    Nom : Requete_avec_somme.JPG
Affichages : 182
Taille : 183,0 Ko

    Et voici le resultat :

    Nom : resultat_requete_avec_somme.JPG
Affichages : 133
Taille : 75,1 Ko

    Le calcul de la somme se met a ne plus fonctionner a partir du mois '201505' en intervention sinon, la somme se fait correctement .

    par exemple, si l'on fait la somme des 2.5 HJD,, nous devrions avoir -18.25+3.25+16.95 = 1.95 dans notre requete avec la somme et ce n'est pas le cas du tous !!
    Nous nous retrouvons avec une somme à 5 !
    Je ne vois pas du tous ce qu'il manque pour que le calcul se fasse correctement.

    Merci par avance de votre aide !!!!

  2. #2
    Membre émérite Avatar de bstevy
    Homme Profil pro
    Solutions Architect
    Inscrit en
    Mai 2009
    Messages
    552
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Japon

    Informations professionnelles :
    Activité : Solutions Architect
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2009
    Messages : 552
    Par défaut
    Si on pouvait avoir la requete en mode selectionnable entre des balises code, ca serait bien plus pratique pour savoir se qui se passe qu'image de texte non formate...


  3. #3
    Membre actif
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2013
    Messages : 60
    Par défaut
    Requete avec somme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    DEFINE SOURCE "F_Colibri_Reqt" TYPE src;
    DEFINE PARAMETER ASSOCIATION TYPE Char;
    SELECT DISTINCT GD_LignesFactures.CodeSJ, VA_Associations."Nom Structure Juridique", VA_Associations."ADR Adresse complète", VA_Associations."ADR C/Postal", VA_Associations."ADR Commune", VA_Associations.Téléphone, VA_Associations.SIRET, VA_Associations."C/APE", VA_Associations."N° Agrément", VA_Associations."Date agrément", GD_LignesFactures.K_Dos_Mbr, GD_Membres.Titre, GD_Membres."Nom usuel", GD_Membres.Prénom, GD_Membres."ADR Adresse complète", GD_Membres."ADR C.P.", GD_Membres."ADR Commune", GD_LignesFactures."An Mois trait.", GD_LignesFactures.Organisme, GD_LignesFactures."An Mois interv.", GD_LignesFactures.Quantité, GD_LignesFactures."C/Unité", SUM(GD_LignesFactures."PA Montant"), GD_LignesFactures."Lg-cplt", GD_LignesFactures."Lg-hist", GD_LignesFactures."Lg-régul", GD_LignesFactures.Etat, GD_LignesFactures."Régul-mnt", GD_LignesFactures."N° Pièce compta"
     
    FROM "GD_LignesFactures" GD_LignesFactures,"GD_Accords" GD_Accords,"VA_Associations" VA_Associations,"GD_Membres" GD_Membres
     JOIN  INNER GD_LignesFactures.K_Dos_Acc=GD_Accords.K_Dos_Acc AND  INNER GD_LignesFactures.CodeSJ=VA_Associations.CodeSJ AND  INNER GD_Membres.K_Dos_Mbr=GD_LignesFactures.K_Dos_Mbr
     
    WHERE GD_LignesFactures."An Mois trait." = '201506' AND GD_LignesFactures."An Mois interv." IN('201501','201502','201503','201504','201505') AND GD_LignesFactures.CodeSJ = ASSOCIATION AND GD_LignesFactures."Régul-mnt" = 'Oui' AND GD_LignesFactures.K_Dos_Mbr = '00336301'
     
    GROUP BY GD_LignesFactures.CodeSJ,GD_LignesFactures."An Mois trait.",GD_LignesFactures."An Mois interv.",GD_LignesFactures.Organisme,GD_LignesFactures."C/Unité",GD_LignesFactures."Lg-cplt",GD_LignesFactures."Lg-hist",GD_LignesFactures."Lg-régul",GD_LignesFactures.Etat,GD_LignesFactures."Régul-mnt",GD_LignesFactures.Quantité,GD_LignesFactures.K_Dos_Mbr,GD_LignesFactures."N° Pièce compta",VA_Associations."Nom Structure Juridique",GD_Membres."Nom usuel",GD_Membres.Prénom,GD_Membres."ADR Adresse complète",GD_Membres."ADR C.P.",GD_Membres."ADR Commune",GD_Membres.Titre,VA_Associations."ADR Adresse complète",VA_Associations."ADR C/Postal",VA_Associations."ADR Commune",VA_Associations.Téléphone,VA_Associations.SIRET,VA_Associations."C/APE",VA_Associations."N° Agrément",VA_Associations."Date agrément"
     
    ORDER BY 20 DESC,19;
    Requete sans somme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    DEFINE SOURCE "F_Colibri_Reqt" TYPE src;
    DEFINE PARAMETER ASSOCIATION TYPE Char;
     
    SELECT DISTINCT GD_LignesFactures.CodeSJ, VA_Associations."Nom Structure Juridique", VA_Associations."ADR Adresse complète", VA_Associations."ADR C/Postal", VA_Associations."ADR Commune", VA_Associations.Téléphone, VA_Associations.SIRET, VA_Associations."C/APE", VA_Associations."N° Agrément", VA_Associations."Date agrément", GD_LignesFactures.K_Dos_Mbr, GD_Membres.Titre, GD_Membres."Nom usuel", GD_Membres.Prénom, GD_Membres."ADR Adresse complète", GD_Membres."ADR C.P.", GD_Membres."ADR Commune", GD_LignesFactures."An Mois trait.", GD_LignesFactures."An Mois interv.", GD_LignesFactures.Organisme, GD_LignesFactures.Quantité, GD_LignesFactures."C/Unité", GD_LignesFactures."PA Montant", GD_LignesFactures."Lg-cplt", GD_LignesFactures."Lg-hist", GD_LignesFactures."Lg-régul", GD_LignesFactures.Etat, GD_LignesFactures."Régul-mnt", GD_LignesFactures."N° Pièce compta"
     
    FROM "GD_LignesFactures" GD_LignesFactures,"GD_Accords" GD_Accords,"VA_Associations" VA_Associations,"GD_Membres" GD_Membres
     JOIN  INNER GD_LignesFactures.K_Dos_Acc=GD_Accords.K_Dos_Acc AND  INNER GD_LignesFactures.CodeSJ=VA_Associations.CodeSJ AND  INNER GD_Membres.K_Dos_Mbr=GD_LignesFactures.K_Dos_Mbr
     
    WHERE GD_LignesFactures."An Mois trait." = '201506' AND GD_LignesFactures."An Mois interv." IN('201501','201502','201503','201504','201505') AND GD_LignesFactures.CodeSJ = ASSOCIATION AND GD_LignesFactures."Régul-mnt" = 'Oui' AND GD_LignesFactures.K_Dos_Mbr = '00336301'
     
     GROUP BY GD_LignesFactures.CodeSJ,GD_LignesFactures."An Mois trait.",GD_LignesFactures."An Mois interv.",GD_LignesFactures.Organisme,GD_LignesFactures."C/Unité",GD_LignesFactures."Lg-cplt",GD_LignesFactures."Lg-hist",GD_LignesFactures."Lg-régul",GD_LignesFactures.Etat,GD_LignesFactures.Quantité,GD_LignesFactures."Régul-mnt",GD_LignesFactures.K_Dos_Mbr,GD_LignesFactures."N° Pièce compta",VA_Associations."Nom Structure Juridique",GD_Membres."Nom usuel",GD_Membres.Prénom,GD_Membres."ADR Adresse complète",GD_Membres."ADR C.P.",GD_Membres."ADR Commune",GD_Membres.Titre,VA_Associations."ADR Adresse complète",VA_Associations."ADR C/Postal",VA_Associations."ADR Commune",VA_Associations.Téléphone,VA_Associations.SIRET,VA_Associations."C/APE",VA_Associations."N° Agrément",GD_LignesFactures."PA Montant",VA_Associations."Date agrément"
     ORDER BY 20 DESC,19;
    Voilà !

  4. #4
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 588
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 588
    Billets dans le blog
    10
    Par défaut
    La syntaxe des jointures est vraiment étrange et non standard
    Pareil pour les noms de colonnes incluant des blancs et des slashs
    Quelle est la base de données ?

    Je ne comprends pas le besoin fonctionnel d'un select distinct ayant une somme parmi plein d''autres colonnes

  5. #5
    Membre actif
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2013
    Messages : 60
    Par défaut
    C'est le logiciel qui génère automatiquement les jointure (click and decide plus precisemment). J'ai supprimé le distinct mais cela ne régle pas le problème.
    Etrangement, la somme se génére bien jusqu au mois de mai et ensuite, les données ne sont plus du tous cohérente

  6. #6
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 588
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 588
    Billets dans le blog
    10
    Par défaut
    Je serai curieux de connaitre le nom du logiciel qui modélise une base avec de tels noms de colonnes et écrit des requêtes pareilles !
    Et encore une fois quelle est la base de données ?

    Sinon, il semble que les colonnes mois ne soient pas de type date mais de type char, c'est complètement aberrant et la source de bien des maux (valeurs non controlées par le SGBD, rangement impossible etc...)

  7. #7
    Membre actif
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2013
    Messages : 60
    Par défaut
    Une base Progress !Et oui, les mois d'intervention sont en type 'varchar' !

  8. #8
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 588
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 588
    Billets dans le blog
    10
    Par défaut
    Et bien c'est n'importe quoi !

    Une date doit être dans une colonne de type date (ou datetime ou timestamp)

    Je suis très surpris que progress accepte des noms de colonnes avec des slash ! (déjà le blanc c'est pas top)

    Si ce n'est pas top tard, le mieux est de mettre ce logiciel de m@@@ à la poubelle et de prendre quelque chose de plus serieux

  9. #9
    Membre actif
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2013
    Messages : 60
    Par défaut
    Ce n'est pas moi malheureusement qui décide !En tous cas, toujours rien de nouveau concernant ma somme qui ne réagit point..

  10. #10
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 588
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 588
    Billets dans le blog
    10
    Par défaut
    la syntaxe de la requete est tellement "originale" que les outils de formatage genre http://sqlformat.org/ ne s'en sortent pas

    Je ne serai pas surpris, compte tenu des pseudo dates dans des colonnes varchar que le contenu de ces pseudo dates ne soit pas correct, à vérifier par browse de la table par exemple

    Attention à bien vérifier aussi l'attribut longueur de ces varchar

Discussions similaires

  1. Somme sur une requête de mis à jour
    Par iseulysse dans le forum Requêtes et SQL.
    Réponses: 0
    Dernier message: 04/02/2015, 22h37
  2. [WD14] Problème incompréhensible sur une requête
    Par cladoo dans le forum WinDev
    Réponses: 4
    Dernier message: 16/09/2009, 11h42
  3. [Optimisation] Problème sur une requête UNION.
    Par françois62 dans le forum Requêtes
    Réponses: 5
    Dernier message: 28/06/2005, 16h08
  4. Problème sur une requête INSERT
    Par Marion dans le forum Langage SQL
    Réponses: 3
    Dernier message: 17/06/2003, 08h45
  5. problème sur une requête!!!!!
    Par Mcgrady_01 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 13/06/2003, 01h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo