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 :

erreur lors de l'exécution d'une sous-requête


Sujet :

Requêtes et SQL.

  1. #1
    Modérateur
    Avatar de bertiny
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2013
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 282
    Points : 1 831
    Points
    1 831
    Billets dans le blog
    1
    Par défaut erreur lors de l'exécution d'une sous-requête
    Bonsoir.
    J'ai le message
    Le moteur de base de données ne reconnait pas << >> en tant que nom de champ ou expression correcte
    après exécution de ma sous-requête.
    Quelqu'un peut-il me dire à quoi ça renvoie et comment résoudre ce genre d'erreur?
    Merci.
    Le monde évolue et nous avec. La technologie change les idées de ceux qui s'intéressent et pensent qu'il est nécessaire de changer.
    Oh là!! Que c'est bien de trouver la solution à un problème

    Pensons à améliorer nos connaissances en toute humilité car on apprend tous tous les jours !!!

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Peux-tu poster le SQL de la sous-requête en question ?

    Au pif, tu as un nom de champ avec un espace ou autres caractères non alpha numérique et tu ne l'as pas entouré de crochet (ex : [Un Nom A Ne Pas Utiliser]) pour signaler à Access que c'est un identifiant de champ.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Modérateur
    Avatar de bertiny
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2013
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 282
    Points : 1 831
    Points
    1 831
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT T.Moy1, (select count(Moy1) from MoyRangTrim1 T2 where T2.Moy1>T1.Moy1)+1 AS Rang, *
    FROM MoyRangTrim1 AS T1
    GROUP BY T1.Moy1
    ORDER BY T1.Moy1 DESC;
    Le monde évolue et nous avec. La technologie change les idées de ceux qui s'intéressent et pensent qu'il est nécessaire de changer.
    Oh là!! Que c'est bien de trouver la solution à un problème

    Pensons à améliorer nos connaissances en toute humilité car on apprend tous tous les jours !!!

  4. #4
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 605
    Points : 56 718
    Points
    56 718
    Billets dans le blog
    40
    Par défaut
    Bonsoir,

    Bizarre le message, mais il y déjà deux soucis avec l'alias T dans le premier champ qui devrait être T1, puis l'étoile à la fin qu'il faut supprimer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT T1.Moy1, (select count(Moy1) from MoyRangTrim1 T2 where T2.Moy1>T1.Moy1)+1 AS Rang, *
    FROM MoyRangTrim1 AS T1
    GROUP BY T1.Moy1
    ORDER BY T1.Moy1 DESC;

  5. #5
    Modérateur
    Avatar de bertiny
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2013
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 282
    Points : 1 831
    Points
    1 831
    Billets dans le blog
    1
    Par défaut
    Merci pour votre intervention f-leb. J'ai tenu en compte les corrections des erreurs qui se sont glissées.
    Mais le message s'affiche toujours.
    Il faut peut-être noter si cela peut aider que cette sous-requête prend ses données dans une autre sous-requête qui fonctionne correctement.
    La requête mère est une requête Analyse croisée qui fonctionne aussi bien.
    Le monde évolue et nous avec. La technologie change les idées de ceux qui s'intéressent et pensent qu'il est nécessaire de changer.
    Oh là!! Que c'est bien de trouver la solution à un problème

    Pensons à améliorer nos connaissances en toute humilité car on apprend tous tous les jours !!!

  6. #6
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.
    Si tu enlèves la partie sous-requête (tu remplaces par un Null), est-ce que cela marche ?
    Si tu exécute la sous-requête à l'extérieur, est-ce que cela marche ?

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    1. pas de GROUP BY sur *
    2. tu ne fais pas un requête de statistique pas de GROUP BY du tout!
    3. au pire ta sous requête est un champs elle devrait être prise en compte dans le GROUP BY
    4. SELECT Distinct T.Moy1, (select count(Moy1)from MoyRangTrim1 T2 where T2.Moy1>T1.Moy1)+1AS Rang, * FROM MoyRangTrim1 AS T1
      ORDER BY T1.Moy1 DESC;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    PARAMETERS [@ID] Long=65;
    SELECT *
    FROM (parameters [@ID] integer;SELECT TestInsertDb.*
    FROM TestInsertDb WHERE ID=[@ID] )  AS frm;
    Dernière modification par Invité ; 23/05/2017 à 14h49.

  8. #8
    Modérateur
    Avatar de bertiny
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2013
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 282
    Points : 1 831
    Points
    1 831
    Billets dans le blog
    1
    Par défaut
    Pour répondre à Marot_r
    Si tu enlèves la partie sous-requête (tu remplaces par un Null), est-ce que cela marche ?
    Si tu exécute la sous-requête à l'extérieur, est-ce que cela marche ?
    La partie requête marche parfaitement quand j'enlève la partie sous-requête. c'est la partie sous-requête qui revoit l'erreur quand je l'exécute à l'extérieur
    Le monde évolue et nous avec. La technologie change les idées de ceux qui s'intéressent et pensent qu'il est nécessaire de changer.
    Oh là!! Que c'est bien de trouver la solution à un problème

    Pensons à améliorer nos connaissances en toute humilité car on apprend tous tous les jours !!!

  9. #9
    Modérateur
    Avatar de bertiny
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2013
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 282
    Points : 1 831
    Points
    1 831
    Billets dans le blog
    1
    Par défaut
    Bonjour dysortographie. je suis perdu sur ton code. Je ne sais pas quel est le lien avec mon problème? pouvez-vous mieux expliquer?
    Le monde évolue et nous avec. La technologie change les idées de ceux qui s'intéressent et pensent qu'il est nécessaire de changer.
    Oh là!! Que c'est bien de trouver la solution à un problème

    Pensons à améliorer nos connaissances en toute humilité car on apprend tous tous les jours !!!

  10. #10
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT T1.Moy1, (select count(Moy1) from MoyRangTrim1 T2 where T2.Moy1>T1.Moy1) +1 AS Rang
    FROM MoyRangTrim1 AS T1
    GROUP BY T1.Moy1
     ORDER BY T1.Moy1 DESC;
    en rouge ta sous requête {c'est donc un champs de la requête principale!}
    en orange ton group by qui ne prend pas en compte ta sous requête!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Group by Champ1,Champ2,Etc...
    en occurrence dans le contexte de la requête exposé, le group by n'a pas d’utilité et un select distinct ferait l'affaire!
    Dernière modification par Invité ; 24/05/2017 à 13h06.

  11. #11
    Modérateur
    Avatar de bertiny
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2013
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 282
    Points : 1 831
    Points
    1 831
    Billets dans le blog
    1
    Par défaut
    Je pense que le problème viens de ma sous-requête et non de la requête parce que quand je l'exécute de l'extérieur il renvoie ce message et quand j'exécute la requête en relevant la sous-requête çà fonctionne normalement. Je ne sais donc pas à quel niveau se situe l'erreur dans ma sous-requête. Sans le Group by il y a toujours l'erreur.
    Le monde évolue et nous avec. La technologie change les idées de ceux qui s'intéressent et pensent qu'il est nécessaire de changer.
    Oh là!! Que c'est bien de trouver la solution à un problème

    Pensons à améliorer nos connaissances en toute humilité car on apprend tous tous les jours !!!

  12. #12
    Invité
    Invité(e)
    Par défaut
    ça c'est normal et je l'aborde dans la deuxième parti de mon premier poste!

    la sous requête ne vois pas T1 d'ou l'exemple avec PARAMETERS !

    Code comment ça pourrait être possible moi supérieure à moi! : Sélectionner tout - Visualiser dans une fenêtre à part
    where T2.Moy1>T1.Moy1

  13. #13
    Modérateur
    Avatar de bertiny
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2013
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 282
    Points : 1 831
    Points
    1 831
    Billets dans le blog
    1
    Par défaut
    Comment corriger?
    Le monde évolue et nous avec. La technologie change les idées de ceux qui s'intéressent et pensent qu'il est nécessaire de changer.
    Oh là!! Que c'est bien de trouver la solution à un problème

    Pensons à améliorer nos connaissances en toute humilité car on apprend tous tous les jours !!!

  14. #14
    Invité
    Invité(e)
    Par défaut
    C'est difficile comment tu fais moi>moi ?

    Que veux dire pour toit where T2.Moy1>T1.Moy1?

    Qu'attends tu de ta requête ?

  15. #15
    Modérateur
    Avatar de bertiny
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2013
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 282
    Points : 1 831
    Points
    1 831
    Billets dans le blog
    1
    Par défaut
    T1 et T2 sont deux alias de la requête principale et dans lesquels j'effectue des comparaisons des valeurs stockées dans le champ Moy1 afin de déterminer le rang de chaque valeur de Moy1.
    Le monde évolue et nous avec. La technologie change les idées de ceux qui s'intéressent et pensent qu'il est nécessaire de changer.
    Oh là!! Que c'est bien de trouver la solution à un problème

    Pensons à améliorer nos connaissances en toute humilité car on apprend tous tous les jours !!!

  16. #16
    Invité
    Invité(e)
    Par défaut
    Oui mais ils provient du même champ de la même table [MoyRangTrim1]!

    Il ont la même valeur!

  17. #17
    Modérateur
    Avatar de bertiny
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2013
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 282
    Points : 1 831
    Points
    1 831
    Billets dans le blog
    1
    Par défaut
    Oui c'est le but.
    En fait cette requête est utilisée presque partout où on calcule le rang et elle fonctionne normalement. Je l'utilise même dans une autre application et elle fonctionne normalement. Le problème à ce niveau doit venir du fait que je prends les données dans un champ calculé d'une sous-requête basée sur une requête d'analyse croisée dynamique. Dans l'autre application dont j'ai parlé plus haut, la requête principale n'est pas une requête d'analyse croisée dynamique.
    Le monde évolue et nous avec. La technologie change les idées de ceux qui s'intéressent et pensent qu'il est nécessaire de changer.
    Oh là!! Que c'est bien de trouver la solution à un problème

    Pensons à améliorer nos connaissances en toute humilité car on apprend tous tous les jours !!!

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 07/10/2009, 11h38
  2. [XL-2003] Erreur lors de l'exécution d'une procédure
    Par pacocnec dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 29/06/2009, 12h39
  3. Erreurs lors de l'exécution d'une procédure
    Par vanesa dans le forum PL/SQL
    Réponses: 2
    Dernier message: 05/01/2009, 17h48
  4. Erreur lors de l'exécution d'une requête avec ADOquery
    Par doolar dans le forum Bases de données
    Réponses: 2
    Dernier message: 03/05/2008, 13h26
  5. [PostgreSQL] [PostGreSQL] Obtention d'une erreur lors de l'exécution d'une requête
    Par cbombabill dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 06/03/2008, 11h56

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