Aller au contenu

Sujets conseillés

Posté

Salut le hub,

j'ai un problème sur un requête mysql :

J'ai une table 't' avec des id uniques et 2 tables 't1' et 't2' liées à 't' mais qui peuvent être vides.

Je voudrais récupérer les 10 derniers enregistrement de 't' avec le nombre d'enregistrements de 't1' et 't2' qui sont liés.

Quand je fais :

SELECT t.id, count(t1.id) as nb1 FROM t LEFT JOIN t1 ON t1.id_table=t.id GROUP BY t.id ORDER BY t.id DESC LIMIT 0,10

J'arrive sans pb à récupérer les 10 derniers enregistrements de 't' et le nombre d'enregistrements de 't1' liés.

Par contre si je fais

SELECT t.id, count(t1.id) as nb1, count(t2.id) as nb2 FROM t LEFT JOIN t1 ON t1.id_table=t.id LEFT JOIN t2 ON t2.id_table=t.id GROUP BY t.id ORDER BY t.id DESC LIMIT 0,10

je récupère ds nb1 et nb2 le produit du nombre d'enregistrements liés.

Vous avez une idée ??

Merci

Posté

Vala Vala

SELECT t.id, count( DISTINCT (

t1.id

) ) AS nb1, count( DISTINCT (

t2.id

) ) AS nb2

FROM t

LEFT JOIN t1 ON t1.id_table = t.id

LEFT JOIN t2 ON t2.id_table = t.id

GROUP BY t.id

ORDER BY t.id DESC

LIMIT 0 , 10

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...