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

Requêtes MySQL Discussion :

Problème de syntaxe pour un solde d'un compte d'une même table avec 2 ou 3 requêtes


Sujet :

Requêtes MySQL

  1. #1
    Futur Membre du Club
    Inscrit en
    Avril 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 3
    Points : 5
    Points
    5
    Par défaut Problème de syntaxe pour un solde d'un compte d'une même table avec 2 ou 3 requêtes
    Bonjour à tous ,

    Novice en mysql j'ai besoin de faire la requête suivante :

    - Faire le solde d'un compte dans une table
    le compte recherché est 5120000

    Toute les sommes sont dans la colonne "montant" de la table "lpadc-comptabilite2024".
    Le montant est négatif si la colonne "dc"=c et est positif si cette même colonne est "d"
    il n'y a donc que 3 colonnes de la table "lpadc-comptabilite2024" utilisées : compte, montant et dc




    voici ma requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    SELECT sum(totaldebit-totalcredit) AS resultat FROM
     
        (
     
        SELECT SUM(`lpadc-comptabilite2024`.`montant`) 
        FROM `lpadc-comptabilite2024`
    	WHERE `lpadc-comptabilite2024`.`compte` = 5120000 AND `dc`='d' 
     	)
        AS totaldebit
     
       UNION 
     
        (SELECT SUM(`lpadc-comptabilite2024`.`montant`) 
        FROM `lpadc-comptabilite2024`
    	WHERE `lpadc-comptabilite2024`.`compte` = 5120000 AND `dc`='c' 
         )
        AS totalcredit
     
    	)
    Après 3 heures de recherche j'ai toujours une erreur mysql. (syntaxe).
    Quelqu'un peut-il m'aider.

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 194
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 194
    Points : 8 409
    Points
    8 409
    Billets dans le blog
    17
    Par défaut
    Tu peux t'y prendre de cette manière :

    select all sum(
    	case dc
    		when 'c' then montant * -1
    		when 'd' then montant
    	end
    ) as solde
    from "lpadc-comptabilite2024"
    where compte = '5120000'
    ;
    Il faudra délimiter le nom de la table avec ` au lieu de " si tu n'utilises pas le mode ANSI_QUOTES.
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  3. #3
    Futur Membre du Club
    Inscrit en
    Avril 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 3
    Points : 5
    Points
    5
    Par défaut
    Alors Vraiment Merci beaucoup.
    Je viens de tester et cela fonctionne.
    Je ne connaissais pas du tout cette façon de faire, il faut dire que mysql n'est pas vraiment mon domaine.
    MERCI Enormément.

  4. #4
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 291
    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 291
    Points : 39 558
    Points
    39 558
    Billets dans le blog
    9
    Par défaut
    Citation Envoyé par Séb. Voir le message
    Il faudra délimiter le nom de la table avec ` au lieu de " si tu n'utilises pas le mode ANSI_QUOTES.
    Encore plus simple : puisque "lpadc-comptabilite2024" n'est pas un mot réservé SQL, inutile de le délimiter


    @facilitant : plutôt que de manipuler des noms de tables ou de vues in-extenso, il est plus confortable d'utiliser des alias

  5. #5
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 194
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 194
    Points : 8 409
    Points
    8 409
    Billets dans le blog
    17
    Par défaut
    Encore plus simple : puisque "lpadc-comptabilite2024" n'est pas un mot réservé SQL, inutile de le délimiter
    Le - va poser problème sans délimiteur
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  6. #6
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 291
    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 291
    Points : 39 558
    Points
    39 558
    Billets dans le blog
    9
    Par défaut
    bien vu : ce n'est pas un "underscore", mais un "tiret"

    Dans la mesure du possible, il est préférable d'éviter les caractères spéciaux, ça évite justement de se contraindre avec les délimiteurs, quote inversées, doubles quotes ou crochets, selon le SGBD

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 06/01/2020, 10h24
  2. Réponses: 2
    Dernier message: 16/05/2008, 14h43
  3. [analyse de syntaxe] pour C et C++ sur Linux
    Par Madmac dans le forum Autres éditeurs
    Réponses: 4
    Dernier message: 10/07/2004, 06h37
  4. [windows] recherche outils coloration syntax. pour -> htm
    Par hpfx dans le forum Autres éditeurs
    Réponses: 5
    Dernier message: 02/10/2003, 01h52
  5. Syntaxe pour avoir un seul resultat dans une requete
    Par Pompil dans le forum Requêtes
    Réponses: 2
    Dernier message: 06/09/2003, 15h51

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