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

Langage SQL Discussion :

Requête à plusieurs colonnes avec la fonction COUNT


Sujet :

Langage SQL

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 6
    Points : 5
    Points
    5
    Par défaut [Résolu] Requête à plusieurs colonnes avec la fonction COUNT
    Bonjour,

    j'ai une table Licences(id_log, Logiciel, Version, Licence) dans laquelle je mets tous les numéros de licences de mes logiciels.

    J'aimerais faire une requête m'affichant une table avec l'id du logiciel, le logiciel, la version ainsi que le nombre de licenses que je possède pour ce logiciel.

    Je ne sais pas comment faire car la fonction count ne nous retourne qu'une seule colonne...

    J'ai mis ceci pour compter les licences, mais comment faire en sorte d'afficher les autres colonnes ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT  Count(*) AS [# Licences]
    FROM Licences
    GROUP BY Licences.id_log;
    Par ailleurs j'aimerais bien aussi qu'il compte que les enregistrements pour lesquels le champ licence n'est pas null.

    J'aimerais que la colonne "# Licences" vale 0 pour le logiciel en question si le champ licence état nul. (En fait ma table Licence est une jointure et possède des champs nuls)

    Merci de votre aide

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    956
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 956
    Points : 1 199
    Points
    1 199
    Par défaut
    Je crois qu'il va falloir que tu revois la syntaxe du group by, par exemple dans les tutoriels disponible sur ce site.
    Il n'y a rien de compliqué.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT  id_log, logiciel, version, Count(*) AS NB_licence
    FROM Licences 
    where Licence is not null
    GROUP BY id_log, logiciel, version
    UNion 
    SELECT  id_log, logiciel, version, 0 AS NB_licence
    FROM Licences 
    where Licence is null
    GROUP BY id_log, logiciel, version;
    a+
    Soazig

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Merci bien, ça fonctionne.

    Je crois que je vais m'acheter un petit livre et arrêter de poster des questions bêtes...

    A la prochaine et encore merci.

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

Discussions similaires

  1. Afficher plusieurs colonnes avec fonction MAX
    Par koolshenntm dans le forum Langage SQL
    Réponses: 5
    Dernier message: 09/07/2014, 15h28
  2. [Débutant] créer plusieurs colonnes avec fonction a:step:c
    Par atomap dans le forum MATLAB
    Réponses: 5
    Dernier message: 25/06/2014, 10h48
  3. Selection de plusieurs colonnes avec une zone de liste
    Par vinzeffect dans le forum Access
    Réponses: 3
    Dernier message: 20/01/2007, 22h51
  4. plusieurs colonnes avec opérateur IN
    Par inluvwitiou dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 16/03/2006, 13h29
  5. Query sur plusieurs colonnes avec count(distinct...)
    Par Jeankiki dans le forum Langage SQL
    Réponses: 2
    Dernier message: 18/08/2004, 15h22

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