begin process at 2012 05 30 22:06:06
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

Jointure tout bête


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Jointure tout bête

mercredi 23 juin 2010 à 21:32:09 | Jointure tout bête

thedeejay

Salut!

Je suis un gros noob dans les jointures, et j'aimerais avoir de votre aide pour un problème qui parait tout bête je pense:

J'ai une table articles, qui contient (incroyablement) mes articles, et une table commentaires (je pense que vous avez deviné).

Ce qui serait cool, ca serait en une requête de sélectionner un ou plusieurs articles (selon la page lire ou liste des articles) et le nombre de commentaires associés...

Voici l'actuelle:

SELECT * FROM articles ORDER BY id DESC LIMIT 0,5

A optimiser, mais je fais la base d'abord...

A mon avis ca doit être quelque chose comme JOIN count(commentaires WHERE id = ????)

Mais impossible de finir ca...

Merci de votre aide!
jeudi 24 juin 2010 à 00:32:48 | Re : Jointure tout bête

TychoBrahe

Salut,

Ha, voici une question qu'elle est intéressante :)

Pour commencer je te conseille de revoir la syntaxe de JOIN. Maintenant, supposons que tes tables soient les suivantes :
Code :
mysql> DESCRIBE articles;
+-------+-------------+------+-----+---------+----------------+
| Field | Type        | Null | Key | Default | Extra          |
+-------+-------------+------+-----+---------+----------------+
| id    | int(11)     | NO   | PRI | NULL    | auto_increment |
| nom   | varchar(42) | NO   |     | NULL    |                |
+-------+-------------+------+-----+---------+----------------+
2 rows in set (0.00 sec)

mysql> DESCRIBE commentaires;
+------------+---------+------+-----+---------+----------------+
| Field      | Type    | Null | Key | Default | Extra          |
+------------+---------+------+-----+---------+----------------+
| id         | int(11) | NO   | PRI | NULL    | auto_increment |
| id_article | int(11) | NO   |     | NULL    |                |
+------------+---------+------+-----+---------+----------------+
2 rows in set (0.00 sec)

mysql> 


Il te faut alors faire une jointure externe associée à un GROUP BY afin d'obtenir ce que tu cherches (sans oublier le COUNT bien entendu) :
Code :
mysql> SELECT articles.id, articles.nom, COUNT(commentaires.id) AS 'nb_commentaires' FROM articles LEFT OUTER JOIN commentaires ON articles.id = commentaires.id_article GROUP BY articles.id;
+----+------+-----------------+
| id | nom  | nb_commentaires |
+----+------+-----------------+
|  1 | plop |               0 |
|  2 | plip |               6 |
+----+------+-----------------+
2 rows in set (0.01 sec)

mysql> 

À toi de jouer, il ne te reste plus qu'a adapter ^^


Cette discussion est classée dans : aide, bête, commentaires, articles, jointure


Répondre à ce message

Sujets en rapport avec ce message

Requête avec jointure non obligatoire [ par destiny ] Bonjour, Ma requete (CI) : [color=green]$this->db->select('_ID_contact, _ID_bien, action, auto, commentaires.commentaire, commentaires.date_creation problème a la con , merci de votre aide [ par cysis ] bonjour a tous , voila, j'ai un petit souci: depuis que je suis passer sur dreamweaver cs4 (je travailler avant sur dreamweaver 4) je n'arrive plus a Concaténer plusieurs fichiers [ par mbik ] Bonjour, je sollicite votre aide pour résoudre mon problème. J'explique, je suis débutant en php et là je viens de terminer la 1ère partie de mon scri a l'aide / sos / au secours / sauvez-moi / help plz / etc [ par neigedhiver ] svp aidé moi j'é un problème ke j'arrive pa a réglai -- Neige, désolé de craquer Souvent la réponse à votre question se trouve dans la [url=http:// Aide pour une fonction [ par karimfellah ] Bonjour à tous, svp j'ai besoin de votre aide pour cette fontion. j'aime bien mettre le contenu d'une table dans un tableau et aprés je vais effectuer PHP et JavaScript [ par begueradj ] Bonjour, J'ai une question toute bête car pour l'instant, je suis bête: Je voudrais créer un bouton sur une page dont l'extension est ".PHP", pour qu demande aide d'un professionnel [ par manu7930 ] je cherche l'aide d'un professionnel pour orienter un domaine sur serveur. les jeux de charades ou du genre c'est dans la notice ne m'interesse pas d Effet survol de la souris sur un lien texte => affichage image [ par apz ] Salut, Voila un code modifié et testé pour un seul bloque. Il marche bien. A present, je voulais essayer d'avoir deux bloques l'un à coté de l'autre Besoin d'aide script php [ par Fr4NgUs ] Bonjour, Pour ceux qui connaissent un peu le ssh via php j'aurais besoin d'aide pour une chose. ----------------------------------------------------- cherche diaporama dynamique avec gestion de commentaires [ par dede132 ] Bonjour Pour un site de sports, je cherche un diaporama dynamique, qui charge automatiquement les photos dans un dossier (qui correspondent à un éven


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,359 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales