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 :

Requete imbriquée dans sql


Sujet :

Développement SQL Server

  1. #1
    Membre du Club
    Inscrit en
    Novembre 2009
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 82
    Points : 40
    Points
    40
    Par défaut Requete imbriquée dans sql
    Bonjour tout le monde, je rencontre un problème avec une requête imbriquée, voilà j'ai deux tables utilisateur et activité parmi les champs de la table utilisateur il y a le champ id_activite et dans la table activite il y a deux champs id_activite et nom_activite.Je veux que ma requête me retourne le nombre d'utilisateurs dans chaque activité donc je veux avoir l'affichage de nom_activite et total (qui représente le nombre d'utilisateur correspondant à l'activité de cette ligne).
    J'ai fait cette requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     select nom_activite ,count(login_user) from user u,activite a where u.id_activite=a.id_activite group by u.id_activite
    mais ça me retourne une erreur .J'espère être clair et merci pour toute réponse ou correction de ma requête.impatiemment

  2. #2
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Bonjour,

    Les colonnes dans le select qui ne sont pas incluses dans des focntions d'agregat (MAX, MIN ,SUM, COUNT,...) doivent etre spécifiées dans la clause GROUP BY.

    Dans votre requete, la colonne nom_activité doit donc etre dans votre group by, ce qui donne, avec une jointure correcte :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    SELECT 
        nom_activite ,
        COUNT(login_user)  AS NbUsers
    FROM user u
    INNER JOIN activite a 
        ON u.id_activite=a.id_activite 
    GROUP BY nom_activite

Discussions similaires

  1. [MySQL] Requetes imbriquées dans un contexte POO/MVC
    Par Pauloscorps dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 02/08/2012, 13h45
  2. Requetes imbriquées dans iReport
    Par yaya0057 dans le forum Jasper
    Réponses: 1
    Dernier message: 24/03/2009, 17h25
  3. Requetes imbriquées dans des while -> rationnalisation
    Par zephilou dans le forum Langage SQL
    Réponses: 3
    Dernier message: 24/06/2008, 14h20
  4. Condition dans une requete (pas en SQL)
    Par Luc01 dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 08/12/2006, 22h57
  5. Réponses: 2
    Dernier message: 11/01/2006, 15h49

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