Besoin d'aide pour requete complexe

Statut
N'est pas ouverte pour d'autres réponses.

DeScH

AstaLaVista
Hello

J'ai cette requete qui récupère des infos sur les articles

Code:
$sql ="SELECT articles.id,articles.titre,articles.contenu,articles.image,articles.image_mini,articles.image_float,articles.timestamp,articles.timestamp_modif,articles.id_categorie,redacteurs.pseudo,categories.titre AS titre_categorie
		FROM ". ARTICLES. " AS articles 
			INNER JOIN ". CATEGORIES ." AS categories 
			INNER JOIN ". REDACTEURS ." AS redacteurs 
				ON articles.id_categorie = categories.id 
				AND articles.id_redacteur = redacteurs.id 
					WHERE articles.id=$id_art";
Je voudrais y incorporer

Code:
$sql = SELECT COUNT(*) AS nb_coms FROM ". COMMENTAIRES ." WHERE id_article = $id AND valide='1'";
qui récupère le nombre de commentaires associés à cet article afin de ne pas devoir la mettre dans le while de la requete précédente. Est-ce possible?
 

kokotchY

Elite
Code:
$sql ="SELECT articles.id,articles.titre,articles.contenu,articl  es.image,articles.image_mini,articles.image_float,  articles.timestamp,articl  es.timestamp_modif,articles.id_categorie,redacteurs.pseudo,categories.titre  AS titre_categorie, COUNT(c.id_article) AS nb_coms, commentaires.valide
		FROM ". ARTICLES. " AS articles 
			INNER JOIN ". CATEGORIES ." AS categories 
			INNER JOIN ". REDACTEURS ." AS redacteurs 
				ON articles.id_categorie = categories.id 
				AND articles.id_redacteur = redacteurs.id 
                                                INNER JOIN ".COMMENTAIRES." AS commentaires
				ON articles.id_articles = commentaires.id_articles
					WHERE articles.id=$id_art" AND commentaires.valide = 1 
				                GROUP BY id_articles;
Je crois que c'est quelque chose comme ca... mais je n'ai jamais utilisé INNER JOIN donc je ne suis pas sur :)
 
1er
OP
DeScH

DeScH

AstaLaVista
Non ca ne marche pas :beuh:
 

kokotchY

Elite
Tu pourrais donner les structures des tables que j'essaie en local ?
 
1er
OP
DeScH

DeScH

AstaLaVista
Non c'est bon j'ai trouvé, merci :)

Exemple:

$sql = "SELECT timestamp, timestamp_modif, (SELECT COUNT(*) FROM ". ARTICLES .") AS nb_articles FROM ". ARTICLES;
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut