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

Développement SQL Server Discussion :

Erreur fonction d'agrégation


Sujet :

Développement SQL Server

  1. #1
    Débutant
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    1 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 125
    Points : 704
    Points
    704
    Par défaut Erreur fonction d'agrégation
    Bonjour.

    Voici l'erreur que j'ai
    La colonne 'no_nav' n'est pas valide dans la liste de sélection parce qu'elle n'est pas contenue dans une fonction d'agrégation ou dans la clause GROUP BY.
    J'ai effectué une recherche, j'ai trouvé ce résultat mais sans succès.

    La requête qui pose problème :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT COUNT(no_nav) AS nombre , ref_article , no_navette
    FROM prepa	
    WHERE date_creation BETWEEN '" & date_creation & "' 
    AND '" & date_creation & " 23:59:59' "
    AND ref_article = '" & artic & "' "
    GROUP BY ref_article
    Merci
    Évènements dans le 06?
    www.sortir06.com

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 763
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 763
    Points : 52 554
    Points
    52 554
    Billets dans le blog
    5
    Par défaut
    Le message est pourtant clair !
    La colonne 'no_navette' n'est pas valide dans la liste de sélection (sous entendu dans la clause SELECT de l'ordre SELECT) parce qu'elle n'est pas contenue dans une fonction d'agrégation ou dans la clause GROUP BY.

    Regardez ou figurer cette colonne "no_navette" : dans la partie SELECT du SELECT

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT COUNT(no_nav) AS nombre , ref_article , no_navette
    FROM prepa	
    WHERE date_creation BETWEEN '" & date_creation & "' 
    AND '" & date_creation & " 23:59:59' "
    AND ref_article = '" & artic & "' "
    GROUP BY ref_article
    Est-elle intégrée dans une fonction d'agrégation (max, min, avg, sum, count...) ??? A l'évidence non
    Figure-t-elle dans la clause GROUP BY ??? A l'évidence non

    A vous maintenant de savoir si vous voulez faire ceci, par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT COUNT(no_nav) AS nombre , ref_article , COUNT(no_navette)
    FROM prepa	
    WHERE date_creation BETWEEN '" & date_creation & "' 
    AND '" & date_creation & " 23:59:59' "
    AND ref_article = '" & artic & "' "
    GROUP BY ref_article
    ou bien cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT COUNT(no_nav) AS nombre , ref_article 
    FROM prepa	
    WHERE date_creation BETWEEN '" & date_creation & "' 
    AND '" & date_creation & " 23:59:59' "
    AND ref_article = '" & artic & "' "
    GROUP BY ref_article, no_navette
    En tout état de cause, vous ne pouvez avoir à la fois un résultat agrégé et le détail...

    Lisez ce que j'ai écrit à ce sujet : http://sqlpro.developpez.com/cours/sqlaz/ensembles/#L1

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Débutant
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    1 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 125
    Points : 704
    Points
    704
    Par défaut
    Exact
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GROUP BY ref_article, no_nav
    Merci à toi
    Évènements dans le 06?
    www.sortir06.com

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

Discussions similaires

  1. [A-07] SQL erreur fonction agrégat compte max
    Par chus03 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 27/12/2008, 21h53
  2. Erreur dans requête : blabla fonction d'agrégat
    Par The_Super_Steph dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 11/06/2007, 10h55
  3. [Access] Erreur fonction agrégat
    Par liljerem dans le forum Langage SQL
    Réponses: 5
    Dernier message: 06/06/2007, 11h50
  4. [sql] Erreur n'est pas fonction d'agrégat
    Par Jahprend dans le forum Access
    Réponses: 13
    Dernier message: 05/07/2006, 13h34
  5. méssage d'erreur fonction d'agrégat
    Par developpeur_mehdi dans le forum Langage SQL
    Réponses: 4
    Dernier message: 10/03/2004, 12h42

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