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 :

Résultat d'une différence


Sujet :

Langage SQL

  1. #1
    Membre régulier
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2006
    Messages
    523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Octobre 2006
    Messages : 523
    Points : 115
    Points
    115
    Par défaut Résultat d'une différence
    Bonjour a tous,

    j'ai regardé une multitude de discussions et je ne trouve toujours pas ma solution :
    Mon souhait :je voudrais avoir la différence entre la première SUM et la seconde : Mes champs sont numériques, je n'ai pas de message d'erreur mais je n'ai pas non plus de résultat. Mes champs sont bien alimentés avec des chiffres. Voici ci-dessous le code de la requête. Merci à tous de votre aide.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT SUM(Resultats_Commerciaux.Vente_Carte) - SUM(Resultats_Commerciaux.`12_25_Budgetisee`)
     , Resultats_Commerciaux.id
    FROM Resultats_Commerciaux
    WHERE Resultats_Commerciaux.Mois_de_Vente='Mai'
     AND Resultats_Commerciaux.Type_Carte='12_25'

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 793
    Points : 1 327
    Points
    1 327
    Par défaut
    Bonjour,

    à première vue je ne comprends pas que vous n'ayez pas de message d'erreur en l'absence de

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Group By Resultats_Commerciaux.id
    ensuite l'expression "Resultats_Commerciaux.`12_25_Budgetisee`" peut très bien devenir "Resultats_Commerciaux.12_25_Budgetisee".
    Il n'y a pas d'espace ni d'accent, aucun intéret de mettre des quotes donc, à part risquer une erreur, par exemple ci dessus les simples quotes sont ` au lieu de ', ce qui posera problème dans la plupart des SGBD ...
    Le Porc est un loup pour le Porc.

  3. #3
    Membre régulier
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2006
    Messages
    523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Octobre 2006
    Messages : 523
    Points : 115
    Points
    115
    Par défaut
    bonjour

    j'ai rajoute groupe by mais je n'ai toujours pas de message erreur ni resultat, je n'y comprends plus rien

    a +

  4. #4
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 793
    Points : 1 327
    Points
    1 327
    Par défaut
    Avez-vous des valeurs nulles dans l'une de vos colonnes ?
    Si oui il faut faire quelque chose de ce style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SUM(COALESCE(Resultats_Commerciaux.Vente_Carte,0)) - SUM(COALESCE(Resultats_Commerciaux.12_25_Budgetisee,0))
    Ainsi on remplace les valeurs nulles par 0, ce qui permet de faire des calculs.
    Autrement 0 + Null = Null

    COALESCE fonctionne sous DB2.
    Sous SQL Server on utilise la fonction ISNULL plutôt que COALESCE il me semble, sous les autres SGBD je ne sais pas.
    Le Porc est un loup pour le Porc.

  5. #5
    Membre expérimenté
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 146
    Points : 1 412
    Points
    1 412
    Par défaut
    Est ce que cette requête sort un résultat ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT Resultats_Commerciaux.Vente_Carte,   
        Resultats_Commerciaux.`12_25_Budgetisee`,
        Resultats_Commerciaux.id
    FROM Resultats_Commerciaux
    WHERE Resultats_Commerciaux.Mois_de_Vente='Mai' 
         AND Resultats_Commerciaux.Type_Carte='12_25'
    Merci d'ajouter un sur les tags qui vous ont aidé

  6. #6
    Membre régulier
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2006
    Messages
    523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Octobre 2006
    Messages : 523
    Points : 115
    Points
    115
    Par défaut
    hello

    la requete m'affiche uniquement le chiffre 1

  7. #7
    Membre régulier
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2006
    Messages
    523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Octobre 2006
    Messages : 523
    Points : 115
    Points
    115
    Par défaut
    je n ai pas de valeur NULL dans mes colonnes elles sont remplacées par 0 (ZERO)

  8. #8
    Membre expérimenté
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 146
    Points : 1 412
    Points
    1 412
    Par défaut
    Citation Envoyé par bibi28 Voir le message
    hello

    la requete m'affiche uniquement le chiffre 1
    1 dans les 3 colonnes ??????


    je n ai pas de valeur NULL dans mes colonnes elles sont remplacées par 0 (ZERO)
    Je croyais que la requête ne sortait aucun résultat ????
    Merci d'ajouter un sur les tags qui vous ont aidé

  9. #9
    Membre régulier
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2006
    Messages
    523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Octobre 2006
    Messages : 523
    Points : 115
    Points
    115
    Par défaut
    la requete d'olivier me sort juste le chiffre 1 dans une seule colonne (12_25_Budgetisee) par contre la mienne ne me sort rien

  10. #10
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 793
    Points : 1 327
    Points
    1 327
    Par défaut
    A quel SGBD avons nous affaire ?
    La colonne est-elle définie en numérique ?
    Le Porc est un loup pour le Porc.

  11. #11
    Membre régulier
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2006
    Messages
    523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Octobre 2006
    Messages : 523
    Points : 115
    Points
    115
    Par défaut
    my sql

    oui numerique

  12. #12
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 814
    Points
    17 814
    Par défaut
    Citation Envoyé par asmduty Voir le message
    Autrement 0 + Null = Null
    Ce que vous dites est vrai, mais n'est pas lié avec la solution que vous préconisez.
    Les opérateurs d'agrégats "ignorent" les nulls :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    select avg(col) as avg
         , sum(col) as sum
         , min(col) as min
         , max(col) as max
      from (select null as col from dual union all
            select 2           from dual) sr;
     
    AVG SUM MIN MAX
    --- --- --- ---
      2   2   2   2

  13. #13
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 793
    Points : 1 327
    Points
    1 327
    Par défaut
    Peut être que je restitue mal le contexte, mais j'ai eu ce problème en DB2, et un COALESCE l'avait résolu.
    Peut-être aussi que c'est le cas seulement avec DB2 ...
    Le Porc est un loup pour le Porc.

  14. #14
    Membre expérimenté
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 146
    Points : 1 412
    Points
    1 412
    Par défaut
    Citation Envoyé par bibi28 Voir le message
    la requete d'olivier me sort juste le chiffre 1 dans une seule colonne (12_25_Budgetisee) par contre la mienne ne me sort rien

    pourrais tu faire un copier-coller des résultats ?

    et indiquer la structure de la table


    Citation Envoyé par Waldar Voir le message
    Ce que vous dites est vrai, mais n'est pas lié avec la solution que vous préconisez.
    Les opérateurs d'agrégats "ignorent" les nulls :
    Waldar, MySql suit il la norme sur ce point ??
    Merci d'ajouter un sur les tags qui vous ont aidé

  15. #15
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 814
    Points
    17 814
    Par défaut
    Citation Envoyé par dehorter olivier Voir le message
    Waldar, MySql suit il la norme sur ce point ??
    Aucune idée, pas de MySQL sous le coude pour tester.
    Je l'ai vérifié pour Oracle, SQL-Server et PostGreSQL.

  16. #16
    Membre expérimenté
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 146
    Points : 1 412
    Points
    1 412
    Par défaut
    Citation Envoyé par Waldar Voir le message
    Aucune idée, pas de MySQL sous le coude pour tester.
    Je l'ai vérifié pour Oracle, SQL-Server et PostGreSQL.
    FIREBIRD, également
    Merci d'ajouter un sur les tags qui vous ont aidé

  17. #17
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 793
    Points : 34 024
    Points
    34 024
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par bibi28 Voir le message
    la requete d'olivier me sort juste le chiffre 1 dans une seule colonne (12_25_Budgetisee) par contre la mienne ne me sort rien
    Ça veut dire que la colonne Resultats_Commerciaux.Vente_Carte n'a pas de valeur pour la carte "12-25" en mai ?
    Normalement, cette colonne devrait quand même afficher NULL.

    Avec quel logiciel lances-tu la requête ? phpMyAdmin ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  18. #18
    Membre expérimenté
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 146
    Points : 1 412
    Points
    1 412
    Par défaut
    Citation Envoyé par CinePhil Voir le message
    Ça veut dire que la colonne Resultats_Commerciaux.Vente_Carte n'a pas de valeur pour la carte "12-25" en mai ?
    Normalement, cette colonne devrait quand même afficher NULL.
    Voila pourquoi, je demandais un copier/coller des résultats !!!
    Merci d'ajouter un sur les tags qui vous ont aidé

  19. #19
    Membre régulier
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2006
    Messages
    523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Octobre 2006
    Messages : 523
    Points : 115
    Points
    115
    Par défaut
    oui phpmyadmin

  20. #20
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 793
    Points : 34 024
    Points
    34 024
    Billets dans le blog
    14
    Par défaut
    Maintenant donne nous la structure de ta table, c'est à dire le résultat complet de la requête : SHOW CREATE TABLE Resultats_Commerciaux
    Ensuite, la requête d'Olivier demandant 3 colonnes, tu devrais, sous phpMyAdmin voir ces trois colonnes avec, soit une valeur, soit NULL.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 3
    Dernier message: 24/06/2015, 09h10
  2. Différence de résultats d'une requête entre OpenQuery et ADO
    Par hellbilly dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 07/04/2006, 19h29
  3. Résultat d'une requète SQL
    Par camino dans le forum Bases de données
    Réponses: 2
    Dernier message: 21/02/2004, 16h22
  4. [JSP] Recopier le résultat d'une JSP dans un fichier
    Par xxaragornxx dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 29/09/2003, 16h10
  5. [BDD] Enregistrer le résultat d'une requête
    Par Mowgly dans le forum C++Builder
    Réponses: 5
    Dernier message: 19/06/2002, 16h26

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