Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Requêtes
Requêtes Forum d'entraide sur les requêtes MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/05/2011, 14h57   #1
Invité de passage
 
Homme
Intégrateur Web
Inscription : mai 2008
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations professionnelles :
Activité : Intégrateur Web

Informations forums :
Inscription : mai 2008
Messages : 5
Points : 2
Points : 2
Par défaut Obtenir le nombre de résultats correspondant à un id parent

Bonjour à tous, je serais heureux d'obtenir de l'aide avec ce problème, puisque je ne sais plus où chercher...

Voilà, je n'ai qu'une seule table contenant des données (parent) et les données (enfant), voici un aperçu de la structure.


| id | parent_id | donnéeA | donnée B |

Voilà, lorque le parent_id est NULL, c'est que la ligne s'agit elle-même d'un parent alors que lorsqu'elle contient un nombre, celui ci correspond au Id du parent.

Donc, ce que je veux obtenir, c'est une liste de tous le parents mais avec leur nombre d'enfants.

J'ai tenté plusieurs combinaisons à partir de la requête suivant, mais rien n'y fait:
Code :
1
2
3
4
5
6
7
 
 
SELECT SQL_CALC_FOUND_ROWS tbltransactions.id, prgth_tbltransactions.A, prgth_tbltransactions.B, (Concat WHERE parent_id = id)
 
        FROM prgth_tbltransactions 
 
        WHERE parent_id IS NULL
Évidemment « (Concat where parent_id = id) » n'est pas une instruction valable mais donne un apperçu de ce que je tente de faire.

Merci beaucoup
Vakarm est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2011, 15h12   #2
Expert Confirmé
 
Avatar de Maljuna Kris
 
Homme Avcxjo MoKo
Retraité
Inscription : novembre 2005
Messages : 2 530
Détails du profil
Informations personnelles :
Nom : Homme Avcxjo MoKo
Âge : 60

Informations professionnelles :
Activité : Retraité
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : novembre 2005
Messages : 2 530
Points : 3 523
Points : 3 523
Saluton,
Code sql :
1
2
3
4
5
SELECT p1.id, p1.A, COUNT(*) nbenfants
FROM prgth_tbltransactions p1
INNER JOIN prgth_tbltransactions p2
ON p1.id=p2.parent.id
GROUP BY p1.id
Essaye ça.
__________________
Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
articles : Comment émuler un tableau croisé [quasi] dynamique
et : Une énigme mathématique résolue avec MySQL
recommande l'utilisation de PDO (PHP5 Data Objects)
Maljuna Kris est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2011, 15h34   #3
Invité de passage
 
Homme
Intégrateur Web
Inscription : mai 2008
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations professionnelles :
Activité : Intégrateur Web

Informations forums :
Inscription : mai 2008
Messages : 5
Points : 2
Points : 2
Super merci

Toutefois je n'obtient que les lignes « parents » ayant des enfants, il me faudrait aussi celles qui n'ont encore aucun enfant mais qui sont tout de même parents...

J'aurais du spécifier.
Merci encore.


EDIT : C'est bon j'ai fait un LEFT JOIN
Vakarm est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h16.


 
 
 
 
Partenaires

Hébergement Web