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 et SQL. Discussion :

syntaxe de mauvaise qualité


Sujet :

Requêtes et SQL.

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 159
    Points : 88
    Points
    88
    Par défaut syntaxe de mauvaise qualité
    bonjour,
    eu ben je suis pas pro du tout lol la syntaxe n'est pas bonne et je ne sais pas ou est le problème, l'erreur est " utilisation non valide de'.','!'ou '()' dans l'expression COM. [Type CAB] = VOL. [Type CAB]", mais je pensse que c'est un début d'une long série alors voicie 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
     
    SELECT COM. [Type CAB], COM.A, COM.NbDeCompte,VOL.trafic
     
    FROM
     
    (SELECT [Type CAB], COUNT(A) AS NbDeCompte, A AS version
    FROM (SELECT DISTINCT compte, [Type CAB], IIf([version routing]='4','conforme',IIf([version routing]='Version routage inconnu','Version routage inconnu','non conforme')) AS A
    FROM table_import)
    GROUP BY [Type CAB], A) AS COM
     
    LEFT OUTER JOIN
     
    (SELECT [Type CAB], IIf([version routing]='4','conforme',IIf([version routing]='Version routage inconnu','Version routage inconnu','non conforme')) AS A, sum(volume) AS trafic
    FROM table_import
    group by [Type CAB], A ) AS VOL
     
    ON COM. [Type CAB] = VOL. [Type CAB] ;
    je suis sur access 2003

  2. #2
    Membre éprouvé
    Homme Profil pro
    Directeur
    Inscrit en
    Avril 2003
    Messages
    724
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur

    Informations forums :
    Inscription : Avril 2003
    Messages : 724
    Points : 1 166
    Points
    1 166
    Par défaut
    Type, c'est un mot clé réservé: y faut pas l'utiliser pour nommer des entités!

    Philippe

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 159
    Points : 88
    Points
    88
    Par défaut
    ben le problème est que je ne suis pas a l'origine des tables sinon y aurrai même pas d'espace de majuscul...et oulala plein d'autre bétise, les requête fonctionne bien séparément donc Type CAB je pensse que c'est un pas un problème majeur, merci tout de même

  4. #4
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Salut,

    Je pense que le problème vient de là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ON COM. [Type CAB] = VOL. [Type CAB]
    Supprime les espaces entre les . et les [

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 159
    Points : 88
    Points
    88
    Par défaut
    sa fonctionne pas et j'ai même testé en rajoutant cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ON COM.[Type CAB]=VOL.[Type CAB] AND COM.A=VOL.A;
    mais toujour pas.

  6. #6
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Je n'avais pas vu celui-ci aussi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT COM. [Type CAB],

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 159
    Points : 88
    Points
    88
    Par défaut
    à ben merci déjà pour ce message c'est réglé je penssais pas que les espaces étaient source d'erreur.

    roo maintenant le message d'erreur suivant est :

    "vous avez éssayé d'exécuter une requête ne comprenant pas l'expression spécifiée " IIf([version routing]='4','conforme',IIf([version routing]='Version routage inconnu','Version routage inconnu','non conforme'))" comme une partie de la fonction d'agrégat."

    eu c'est la ben c'est pareille kézako???

  8. #8
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Il suffit de répéter la fonction IF dans le GROUP BY sans l'alias.
    Or tu as mis l'alias.

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 159
    Points : 88
    Points
    88
    Par défaut
    oui mais j'ai remplacé "A" par la fonction "IF" cela a affiché la même erreur avec "version" donc j'ais réctifier ma requête cela donne :

    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
     
    SELECT COM.[Type CAB], COM.A, COM.NbDeCompte,VOL.trafic
     
    FROM
     
    (SELECT [Type CAB], COUNT(A) AS NbDeCompte, A AS version
    FROM (SELECT DISTINCT compte, [Type CAB], IIf([version routing]='4','conforme',IIf([version routing]='Version routage inconnu','Version routage inconnu','non conforme')) AS A
    FROM table_import)
    GROUP BY [Type CAB],  IIf([version routing]='4','conforme',IIf([version routing]='Version routage inconnu','Version routage inconnu','non conforme')), A) AS COM
     
    LEFT OUTER JOIN
     
    (SELECT [Type CAB], IIf([version routing]='4','conforme',IIf([version routing]='Version routage inconnu','Version routage inconnu','non conforme')) AS A, sum(volume) AS trafic
    FROM table_import
    group by [Type CAB],  IIf([version routing]='4','conforme',IIf([version routing]='Version routage inconnu','Version routage inconnu','non conforme'))) AS VOL
     
    ON COM.[Type CAB]=VOL.[Type CAB] AND COM.A=VOL.A;
    MAIS pasqu'il y a toujours un MAIS un message me demande "entrer la version du routing"

  10. #10
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Non.

    Ici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GROUP BY [Type CAB],  IIf([version routing]='4','conforme',IIf([version routing]='Version routage inconnu','Version routage inconnu','non conforme')), A) AS COM
    Tu devrais avoir ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GROUP BY [Type CAB],  IIf([version routing]='4','conforme',IIf([version routing]='Version routage inconnu','Version routage inconnu','non conforme'))) AS COM
    Dans le GROUP BY, si tu mets un champ calculé : tu mets le calcul et pas l'alias.

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 159
    Points : 88
    Points
    88
    Par défaut
    nen en faite étant donné que mes requête fonctionne séparément j'ais fait un INSERT dans chaque requête puis j'ais fait une requête pour simplement réunir se que je voulais bref une solution de facilité a cause du manque de temps, hihi

    merci

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

Discussions similaires

  1. Son de tres mauvaise qualité sous Mandriva
    Par Cazaux-Moutou-Philippe dans le forum Mandriva / Mageia
    Réponses: 12
    Dernier message: 06/07/2007, 19h19
  2. [FLASH 5] Mauvaise qualité des captures d'écran
    Par fredhali2000 dans le forum Flash
    Réponses: 1
    Dernier message: 11/08/2006, 14h53
  3. [GD] Mauvaise qualité des textes en jpeg
    Par coolmic dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 26/05/2006, 18h15
  4. [ImageMagick] Texte -> image : très mauvaise qualité ?
    Par Yusuke dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 11/11/2005, 19h17
  5. aide PL/SQL syntaxes [debutant] [mauvaise doc]
    Par sdeb dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 19/01/2004, 12h59

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