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 :

Syntaxe incorrecte vers ')'.


Sujet :

Langage SQL

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2008
    Messages : 26
    Points : 27
    Points
    27
    Par défaut Syntaxe incorrecte vers ')'.
    Bonjour,
    j'essai de faire la somme de deux sommes selon certaines conditions,avec mes requêtes suivantes qui fonctionnent parfaitement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    query_tot = "SELECT SUM(Tva10) as tva10_total FROM RemplissageBon WHERE Numero='" & numero & "'And Tva10bool=-1"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    query_tot = "SELECT SUM(Tva20) as tva20_total FROM RemplissageBon WHERE Numero='" & numero & "'And Tva20bool=-1"
    mais lorsque je fait ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     query_tot = "SELECT SUM(Tva) as tva_total FROM ((SELECT SUM(Tva10) as tva FROM RemplissageBon WHERE Numero='" & numero & "'And Tva10bool=-1) UNION ALL (SELECT SUM(Tva20) as tva FROM RemplissageBon WHERE Numero='" & numero & "' And Tva20bool=-1))"
    j'utilise la requête en VB.net (info)
    j'obtiens l'erreur "Syntaxe incorrecte vers ')'.
    et je ne trouve pas mon erreur,il y a sans doute un autre moyen mais je suis novice en language SQL.
    Si vous souhaitez me conseiller ou m'aider je vous en serai reconnaissant.
    D'avance merci.

    fhoest

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

    Informations professionnelles :
    Activité : Solutions Architect
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2009
    Messages : 552
    Points : 870
    Points
    870
    Par défaut
    Hmm, la première idée qui me viendrait à l'esprit c'est que le union all en sous requete n'est pas accepté.
    Car je vois pas de bizarrerie dans ton code.


    Apres, y'a toujours d'autre moyen d'écrire un résultat.
    La requête ci-dessous devrait te donner la même chose.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    select sum (case when Tva10bool=-1 then Tva10
    	when Tva20bool=-1 then Tva20
    	else 0
    	end 
    	)
    FROM RemplissageBon 
    WHERE Numero='" & numero & "'

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2008
    Messages : 26
    Points : 27
    Points
    27
    Par défaut
    Bonjour bstevy,
    merci pour cette réponse,je vais tester le code que vous proposiez puis revenir dire si c'est concluant.
    Pourquoi le Union all n'est il pas utilisable (il est vrai que j'aurai pu mettre Union simplement mais ça ne fonctionne pas de toute manière.

    Magnifique,
    j'ai juste modifié en ajoutant "as tva_total" qui n'était pas dans la requête
    ça fonctionne parfaitement
    UN GRAND MERCI.

    A bientôt.

  4. #4
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Bonjour,

    en fonction de votre SGBDR, il se peut que votre erreur initiale soit simplement due à l'absence d'alias pour la table dérivée (sous requete).

    Mais dans tous les cas, la requête de bstevy est préférable puisqu'elle de fait qu'un seul appel à la table RemplissageBon

    Attention, s'il est possible que pour une ligne données les deux conditions Tva10bool=-1 et Tva20bool=-1 soient vraie. la requete ne prendra pas en compte la deuxième.
    Dans ce cas, il faudrait faire deux CASE et sommer leur résultat.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2008
    Messages : 26
    Points : 27
    Points
    27
    Par défaut
    Bonjour aieeeuuuuu,
    merci pour le complément d'information
    il n'y a pas de risque dans mon cas,car le choix de tva se fait par optionbutton.
    donc la solution proposé est au top pour mon cas.
    A bientôt.

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

Discussions similaires

  1. erreur du type syntaxe incorrecte vers '='
    Par Djclo dans le forum ASP.NET
    Réponses: 4
    Dernier message: 17/11/2008, 10h03
  2. Syntaxe incorrecte vers ')'
    Par Nako_lito dans le forum Services Web
    Réponses: 2
    Dernier message: 16/06/2008, 11h31
  3. Syntaxe incorrecte vers le mot clé 'case'.
    Par anayathefirst dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 21/08/2007, 18h25
  4. Syntaxe incorrecte vers 'where'.
    Par lepeintre dans le forum ASP
    Réponses: 15
    Dernier message: 19/05/2005, 11h57

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