par
Cyrano » 25 févr. 2006, 18:44
T'expliquer en quelques lignes ce que j'ai mis plusieurs semaines à comprendre, disons que c'est un peu du domaine du rêve. Ce n'est pas tellement propre à MySQL en particulier, c'est du SQL tout court.
Mais il me manque des éléments et en fait, je crois que je sais pourquoi tu n'as pas de résultats : fais donc voir la structures des 4 tables...
Si je pense juste, ta requête devrait ressembler à ça :
Code : Tout sélectionner
SELECT u.*,
COUNT(a.aqua_id) AS nb_aqua,
COUNT(po.poisson_id) AS nb_poissons,
COUNT(pl.plante_id) AS nb_plantes
FROM site_users u
LEFT JOIN site_aquariums a ON u.username = a.username,
LEFT JOIN site_poissons po ON u.username = po.username,
LEFT JOIN site_plantes pl ON u.username = pl.username
WHERE u.username = 'test'
GROUP BY a.aqua_id, po.poisson_id, pl.plante_id;
T'expliquer en quelques lignes ce que j'ai mis plusieurs semaines à comprendre, disons que c'est un peu du domaine du rêve. Ce n'est pas tellement propre à MySQL en particulier, c'est du SQL tout court.
Mais il me manque des éléments et en fait, je crois que je sais pourquoi tu n'as pas de résultats : fais donc voir la structures des 4 tables... :-k
Si je pense juste, ta requête devrait ressembler à ça :
[code]SELECT u.*,
COUNT(a.aqua_id) AS nb_aqua,
COUNT(po.poisson_id) AS nb_poissons,
COUNT(pl.plante_id) AS nb_plantes
FROM site_users u
LEFT JOIN site_aquariums a ON u.username = a.username,
LEFT JOIN site_poissons po ON u.username = po.username,
LEFT JOIN site_plantes pl ON u.username = pl.username
WHERE u.username = 'test'
GROUP BY a.aqua_id, po.poisson_id, pl.plante_id;[/code]