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 :

COUNT et RIGHT JOIN


Sujet :

Langage SQL

  1. #1
    Membre habitué
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2003
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2003
    Messages : 120
    Points : 126
    Points
    126
    Par défaut COUNT et RIGHT JOIN
    Bonjour, ça fais quelques heures que je me casse la tete sur une requete, je viens demander un peu d'aide.

    J'ai une table de log qui a ce format
    log(idlog, iduser, user, navigateur, resolution, ip, datel)
    ainsi qu'une table user(iduser, ... )

    Je cherche à compter le nombre de fois qu'un utilisateur s'est connecter durant une période mais je souhaite aussi voir les utilisateurs qui ne se sont pas connectés (et qui donc, n'ont pas d'enregistrement dans la table log)

    J'ai essayer ceci, mais je ne parviens pas à récuperer ceux qui ne ce sont pas connecté:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT COUNT( user.iduser )  AS nb_connexion, user, navigateur, resolution, ip
    FROM log
    RIGHT  OUTER  JOIN user ON ( log.iduser = user.iduser ) 
    WHERE datel >=  "2006-05-01"
    AND datel <=  "2006-05-31"
    AND log.iduser <>1
    GROUP  BY user.iduser
    ORDER  BY  `user`  ASC

  2. #2
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    Essaye :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT COUNT( user.iduser )  AS nb_connexion, user, navigateur, resolution, ip
    FROM log RIGHT OUTER JOIN user 
                           ON  log.iduser = user.iduser
                           AND log.iduser <>1
    WHERE datel >=  "2006-05-01"
      AND datel <=  "2006-05-31"
    GROUP  BY user.iduser
    ORDER  BY  user  ASC
    J'affirme péremptoirement que toute affirmation péremptoire est fausse
    5ième élément : barde-prince des figures de style, duc de la synecdoque
    Je ne réponds jamais aux questions techniques par MP

  3. #3
    Membre habitué
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2003
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2003
    Messages : 120
    Points : 126
    Points
    126
    Par défaut
    Merci de ta réponse mais malheuresement j'obtiens le meme résultat qu'avec ma requête
    -> comptage des personnes qui se sont connecté au moins une fois mais aucune trace de celles qui ne se sont jamais connecter

  4. #4
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    J'ai pas fait attention, mais date1 doit être dans la table log, donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT COUNT( user.iduser )  AS nb_connexion, user, navigateur, resolution, ip
    FROM log RIGHT OUTER JOIN user 
                           ON  log.iduser = user.iduser
                           AND log.iduser <>1
                           AND datel >=  "2006-05-01"
                           AND datel <=  "2006-05-31"
    GROUP  BY user.iduser
    ORDER  BY  user  ASC
    [/quote]
    J'affirme péremptoirement que toute affirmation péremptoire est fausse
    5ième élément : barde-prince des figures de style, duc de la synecdoque
    Je ne réponds jamais aux questions techniques par MP

  5. #5
    Membre habitué
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2003
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2003
    Messages : 120
    Points : 126
    Points
    126
    Par défaut
    C'était donc ça !
    Merci

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 01/08/2007, 09h26
  2. COUNT avec LEFT JOIN qui renvoie toujours 1
    Par Christophe_ dans le forum Requêtes
    Réponses: 2
    Dernier message: 13/06/2007, 14h20
  3. Fonction Left join, Right Join
    Par chandlerbing77 dans le forum Access
    Réponses: 2
    Dernier message: 22/06/2006, 16h36
  4. Réponses: 4
    Dernier message: 28/10/2005, 20h58
  5. [MySQL] Condition en plus d'un RIGHT JOIN
    Par psychomatt dans le forum Langage SQL
    Réponses: 2
    Dernier message: 12/08/2005, 09h18

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