Requete MYSQL

Résolu
Vin -  
 Vin -
Bonjour,

Je suis à la recherche d'une méthode de faire une "comparaison" dans une base afin de compter.

Je m'explique, ma table est formée comme ceci :

ID | title | ... | topic_pere

Ce que je voudrais faire c'est :

SELECT * FROM posts WHERE topic_pere = ID

mais en utilisant les valeurs de ID

example de données dans la base :

1 | titre1 | NULL
2 | titre2 | NULL
3 | titre3 | 2
4 | titre4 | 2

je voudrais donc, afin de les compter, afficher le nombre de "FILS" de 2, soit 2 fils ( "3" et "4")

D'avance merci

3 réponses

Blopette Messages postés 315 Date d'inscription   Statut Membre Dernière intervention   273
 
Bonjour,

si j'ai bien compris, ce que tu cherches c'est :

SELECT count(*) FROM posts WHERE topic_pere = ID
0
Vin
 
Oui mais cela ne marche pas, car il compare la valeur de topic_pere avec "ID" et non pas la valeur de ID :D
0
Blopette Messages postés 315 Date d'inscription   Statut Membre Dernière intervention   273
 
Ah. Tu codes en quoi ? Si c'est php, tu peux récupérer la valeur "2" dans ID, et ensuite concaténer :

$sql = "SELECT count(*) FROM posts WHERE topic_pere ="+$ID


Sinon, tu fais deux requêtes imbriquées, où la deuxième consistera à récupérer l'ID que tu cherches (je sais pas comment tu vas le récupérer donc j'ai mis au pif pour la deuxième requête) :

SELECT count(*) FROM posts WHERE topic_pere = (SELECT id FROM topics WHERE titre="titre")
0
Vin
 
l'imbrication fonctionne a merveille, merci :)
0