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

Bases de données Delphi Discussion :

message d'errur SQL


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2004
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 93
    Par défaut message d'errur SQL
    voila en essayant de groupé les composant d'une table pour les affiché dans un dbgrid
    un méssage d'erruur est survenue
    le voici
    Vous essayez d'exécuter une requette ne comprennant pas l'expression spécifiée 'code machine' comme une partie de la fonction d'agrégat
    et ma requette est la suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select code_machine, code_composant,  date_affectation,  date_retrait 
    from machine_comp
    group by code_composant
    ma BD est sous access
    alors c quoi le problème SVP
    merci d'avance[/list]

  2. #2
    Membre éclairé Avatar de seb.49
    Profil pro
    ljgdfgdf
    Inscrit en
    Octobre 2002
    Messages
    291
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : ljgdfgdf

    Informations forums :
    Inscription : Octobre 2002
    Messages : 291
    Par défaut
    le group by doit contenir tous les champs du select

  3. #3
    Membre confirmé
    Inscrit en
    Février 2004
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 93
    Par défaut ah bon??
    mais ce que je cherche a faire c'est un groupement par code_composant :
    quelle procédure suivre SVP

  4. #4
    Membre éclairé Avatar de seb.49
    Profil pro
    ljgdfgdf
    Inscrit en
    Octobre 2002
    Messages
    291
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : ljgdfgdf

    Informations forums :
    Inscription : Octobre 2002
    Messages : 291

  5. #5
    Membre très actif Avatar de star
    Homme Profil pro
    .
    Inscrit en
    Février 2004
    Messages
    941
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Corée Du Nord

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Février 2004
    Messages : 941
    Par défaut
    Lorsque l'on fait un GROUP BY, on aggrège l'information, c'est à dire qu'on utilise une fonction de groupe comme SUM.
    Alors, si tu veux un groupement par code_composant, essaye:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    select
    code_composant, sum(1)
    from
    machine_comp
    group by
    code_composant
    Sinon, UNIQUE:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select unique
    code_composant
    from machine_comp
    .

  6. #6
    Membre confirmé
    Inscrit en
    Février 2004
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 93
    Par défaut Merci
    OK compris 8)

  7. #7
    Membre confirmé Avatar de alexmorel
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    196
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2003
    Messages : 196
    Par défaut ta essai
    teste ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    select code_machine, code_composant,  date_affectation,  date_retrait 
    from machine_comp 
    group by (code_composant)
    Moi je fais ça et sa passe très bien

  8. #8
    Membre confirmé
    Inscrit en
    Avril 2002
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 103
    Par défaut
    Je ne pense pas que la solution de Alexmorel soit bonne, si on fait un Groupe By celà suppose comme il a été dit précédemment qu'on recherche une agrégation. Si tu souhaites trier par Cod_composant utilise plutôt Sort by Code_composant!

  9. #9
    Membre confirmé Avatar de alexmorel
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    196
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2003
    Messages : 196
    Par défaut excuse
    excuse me suis tromper test ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    select code_machine, code_composant,  date_affectation,  date_retrait 
    from machine_comp 
    order by (code_composant)
    C'est mieux

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 27/05/2010, 18h15
  2. Message 2100 sous SQL LOADER
    Par kramlech dans le forum SQL*Loader
    Réponses: 2
    Dernier message: 21/10/2009, 17h34
  3. Réponses: 2
    Dernier message: 10/07/2009, 17h12
  4. [MySQL] message d'erreur sql : champ inconnu
    Par fredostar dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 28/05/2008, 03h06
  5. [MySQL] Message d'erreur SQL mysql_fetch_assoc(): supplied argument is not a valid
    Par pony99 dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 19/02/2007, 16h44

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