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 MySQL Discussion :

Requete sur plusieurs tables + Count


Sujet :

Requêtes MySQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 22
    Points : 15
    Points
    15
    Par défaut Requete sur plusieurs tables + Count
    Bonjour à vous ,
    J'ai un petit soucis concernant une requète SQL.

    J'ai une première table "t_images" avec comme champs :

    img_id (identifiant de la table),
    ... et d'autres.

    Une seconde qui répertorie tous les commentaires sur les images : "t_comments" avec comme champs :

    cmt_id (identifiant de la table),
    img_id (en relation avec la table "t_images"),
    ... et d'autres.


    Et une troisième qui comptabilise les "like" et "Unlike" : "t_like" avec comme champs :

    lik_id (identifiant de la table),
    img_id (en relation avec la table "t_images"),
    ... et d'autres.

    Ce que j'aimerai c'est pouvoir retourner toutes les images, avec le nombre de "Commentaires" et de "Like" pour chaque image.

    J'ai essayé ;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    SELECT * 
       FROM t_images img,
            t_comments cmt,
            t_like lke
            INNER JOIN (
                SELECT COUNT(*) 
                FROM t_comments            
            )
            AS CptCmt
            ON img.img_id = t_comments.img_id
            INNER JOIN (
                SELECT COUNT(*) 
                FROM t_like
            )
            AS CptLve
            ON t_images.img_id = t_like.img_id;
    Mais sans succès...
    Avez vous une idée ?

    Merci de votre temps, aide,..

  2. #2
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 136
    Points : 38 561
    Points
    38 561
    Billets dans le blog
    9
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    select IM.Col1
         , IM.Col2
         , ...
         , IM.Coln
         , coalesce(T1.NBR, 0) as NB_comm
         , coalesce(T2.NBR, 0) as NB_like
    from T_images as IM
    left join 
         (select img_id
               , count(*) as NBR
          from t_comments
          group by img_id) as T1
       on T1.img_id = IM.img_id
    left join 
         (select img_id
               , count(*) as NBR
          from t_likes
          group by img_id) as T2
       on T2.img_id = IM.img_id

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 22
    Points : 15
    Points
    15
    Par défaut
    escartefigue,
    Merci infiniment cela fonctionne comme je le souhaitais.

    Merci

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

Discussions similaires

  1. Requete sur plusieurs tables
    Par lampre dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 09/02/2007, 17h26
  2. Réponses: 1
    Dernier message: 06/12/2006, 18h25
  3. Probleme de requete sur plusieurs tables
    Par Hitmaaan dans le forum Requêtes
    Réponses: 3
    Dernier message: 20/08/2006, 22h20
  4. [vb6]faire une requete sur plusieurs tables
    Par Henry9 dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 23/07/2006, 02h06
  5. requete sur plusieurs tables
    Par manaboko dans le forum Requêtes
    Réponses: 6
    Dernier message: 13/12/2005, 17h07

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