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 :

Requête SQL et group by ?


Sujet :

Requêtes et SQL.

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    340
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 340
    Par défaut Requête SQL et group by ?
    Bonjour,

    voici la requête généré par Access. Je souhaiterais ajouter un group by Rabaisentete.TEXTE_RAB, comment faut-il faire pour que cela fonctionne?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SELECT Offreentete.VBELN, Offreentete.ERDAT, 
    Offreentete.VBTYP, Offreentete.AUART, Offreentete.WAERS, 
    Offreentete.BSTNK,Offreentete.BSTDK, Offreentete.BNAME, 
    Offrepostes.POSNR, Offrepostes.MATNR, Offrepostes.MAKTX, 
    Rabaispostes.POS_RABAIS_TAUX, Rabaispostes.RABAIS_TEXTE, Rabaisentete.TEXTE_RAB, 
    Rabaisentete.ENT_MONTANT_RAB, Rabaisentete.ENT_POURCENT_RAB
    FROM ((Offrepostes RIGHT JOIN Offreentete ON offrepostes.VBELN=Offreentete.VBELN) LEFT JOIN Rabaispostes ON 
    (Offrepostes.POSNR=Rabaispostes.POSNR) AND 
    (Offrepostes.VBELN=Rabaispostes.VBELN)) LEFT JOIN Rabaisentete ON Offreentete.VBELN=Rabaisentete.VBELN 
    GROUP BY Rabaisentete.TEXTE_RAB;
    Si je laisse mon group by j'ai une erreur si je l'enleve je peux afficher la requête.
    Erreur : "Vous avez essayer d'exécuter une requête ne comprenant pas l'expression spécifiée "VBELN" comme une partie de la fonction d'agrégat.

    Qu'est ce qui est faux ?

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    352
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 352
    Par défaut
    Tu n'as normalement pas à utiliser un group by vu que tu n'utiliser pas des fonctions dites d'agrégat telles que count, sum, max...
    Si tu tiens absolument à utiliser un group by, il faut que tu y mettes tous les éléments que tu as sélectionnés dans le select hormis ceux utilisant une fonction d'agrégat

    par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    select dept_nom, dept_region , sum(habitant)
    from dept
    group by dept_nom, dept_region
    plus d'info dans la FAQ sur l'utilisation du group by

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    340
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 340
    Par défaut
    Ok donc ca ne me sert à rien de faire un group by ...merci pour ta réponse

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    340
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 340
    Par défaut
    Selon l'image ci-desous,

    Le résultat de ma requête est juste. Sauf que lorsque je crée mon état, il reprend toutes les lignes de ma requête, alors que certaines sont des doublons . comment faire pour ne pas avoir ces doublons dans l'etat
    Images attachées Images attachées  

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    352
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 352
    Par défaut
    dans ce cas, il te faut rajouter distinct au début de ton select

  6. #6
    Membre Expert
    Avatar de alassanediakite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Mali

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 1 599
    Billets dans le blog
    8
    Par défaut
    Salut
    Tu ouvre ta requête dans qbe, tu affiche ses propriétés et dans lignes "enregistrements distincts" tu choisi oui.
    @+

  7. #7
    Modérateur
    Avatar de Chtulus
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2008
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 3 094
    Par défaut
    Oui,

    Ou toujours en QBE dans le SQL, rajouter DISTINCT après le SELECT...

    « Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. »
    - Confucius -

    Les meilleurs cours, tutoriels et Docs sur les SGBD et le SQL
    Tous les cours Office
    Solutions d'Entreprise



Discussions similaires

  1. [2008] Requête SQL avec GROUP BY
    Par thierry007 dans le forum Développement
    Réponses: 5
    Dernier message: 02/12/2013, 10h07
  2. Requête SQL avec Group By par semaine
    Par SOPSOU dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 08/07/2013, 22h20
  3. Requête SQL avec UNION, sum et GROUP BY
    Par Guitariff dans le forum Langage SQL
    Réponses: 6
    Dernier message: 03/12/2006, 13h48
  4. Requête SQL - Pb avec la clause GROUP BY
    Par jeromesco dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 10/07/2006, 09h04
  5. [Access] Requète SQL Group By, Order By and Co
    Par zoidy dans le forum Langage SQL
    Réponses: 4
    Dernier message: 09/06/2006, 14h37

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