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

 MySQL Discussion :

Recherche dans mon espace membre [SQL]


Sujet :

MySQL

  1. #1
    Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juillet 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2011
    Messages : 3
    Points : 4
    Points
    4
    Par défaut Recherche dans mon espace membre [SQL]
    Bonjour,

    Je débute en SQL et je fais donc appel a vos connaissances. J'ai créé un espace membre avec plusieurs tables dont : users, pictures, cities.

    J'aimerai maintenant combiner plusieurs requêtes afin de créer un tableau avec des informations sur chaque utilisateurs.

    - La table users contient les colonnes : id, pseudo, mdp, ddn, city, active, lastactivity
    - La table pictures contient les colonnes : id, id_user, path, timestamp
    - La table cities contient : id et ville

    Je voudrais afficher maintenant dans un unique tableau les valeurs users.id, users.pseudo, *AGE*, *VILLE*, users.active, users.lastactivity, *NOMBREDEPHOTOS*

    Donc AGE proviendrait de users.ddn qui est au format date (1990-10-08)
    VILLE serait une correspondance entre users.city et cities.id qui renverrait cities.ville
    NOMBREDEPHOTOS serait un count du nombre de photos par utilisateur donc un lien entre pictures.id_user et users.id

    Pour le moment je patauge.. J'ai réussi a effectuer le count de photos mais le tableau se répète autant de fois qu'il y a de photos et non autant de fois que d'utilisateurs...

    Ma requête actuelle ressemble à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SELECT 
    users.id, 
    users.pseudo,
    users.ddn,
    users.city,
    users.active,
    users.lastactivity,
    (SELECT DISTINCT COUNT(*) AS nbpics FROM pictures WHERE pictures.id_user = users.id GROUP BY pictures.id_user)
    FROM users, pictures
    WHERE 1
    Je vous remercie d'avance pour votre aide.

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 801
    Points : 34 063
    Points
    34 063
    Billets dans le blog
    14
    Par défaut
    Commençons par chercher combien il y a de photos par utilisateur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT u.id, COUNT(p.*) AS nb_photos
    FROM users u
    INNER JOIN pictures p ON p.id_user = u.id
    GROUP BY id
    Récupérons ensuite les autres informations de chaque utilisateur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    SELECT u1.id, u1.pseudo, 
        ABS(CAST(CURRENT_TIMESTAMP - u.ddn AS FLOAT) / 365.2425) AS Age,
        c.ville,
        u1.active, u1.lastactivity,
        tmp.nb_photos
    FROM users u1
    INNER JOIN
    (
        SELECT u.id, COUNT(p.*) AS nb_photos
        FROM users u
        INNER JOIN pictures p ON p.id_user = u.id
        GROUP BY id
    ) AS tmp ON tmp.id = u1.id
    INNER JOIN cities c ON c.id = u1.city

Discussions similaires

  1. Recherche class login/espace membres
    Par novphp dans le forum Langage
    Réponses: 0
    Dernier message: 23/03/2009, 22h50
  2. [Forum] Quel forum pour mon espace membre
    Par okoweb dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 28/08/2008, 00h12
  3. Petit souci de recherche dans mon programme
    Par jojo72000 dans le forum Débuter
    Réponses: 4
    Dernier message: 03/06/2008, 18h54
  4. Création de formulaire de recherche dans mon projet VB6
    Par seyiv dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 02/04/2007, 13h54
  5. [Conception] Messagerie privée dans un espace membre
    Par elitemedia dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 11/09/2006, 16h29

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