Page 1 sur 1

Pbl requete, COUNT & JOIN

Posté : 29 mai 2007, 18:11
par Isabelle
J'ai un petit souci avec une jointure sur 2 tables.

Voici ma situation (simplifiée)

1 table User
- id_user


1 table message
- id_msg
- id_user


Je voudrais pouvoir récuperer le nombre de message pour tous mes "user "
(meme ceux qui n'ont pas encore de message (0))

Code : Tout sélectionner

SELECT user.id_user, COUNT(message.id_msg) AS cpt FROM user LEFT JOIN message ON user.id_user = message.id_user GROUP BY user.id_user
Mais visiblement mysql n'apprecie pas ma requete. (timeout)

Qqun peut t-il me proposer une solution ou une correction de la requete.
Merci d'avance.

Isabelle

Posté : 29 mai 2007, 18:58
par Cyrano
Fais donc voir le script SQL de création de tes tables : ta requête est correcte, mais il y a peut-être un problème avec les tables elles-même...:-k

Posté : 29 mai 2007, 20:36
par Isabelle
Comme tu me confirme que la requete est juste j'ai repris la structure des tables.

Et j'ai eu la bonne idée d'indexer les champs repris dans la requete.
Du coup çà fonctionne.

Je n'avais jamais vu ce cas là.
Si mes champs ne sont pas indexés, çà ne fonctionne pas.

C'est vrai que la table message contient + de 10000 enregistrements pour environ 3000 users.

Merci d'avoir consacré un minimum de temps à mon problème.

Isabelle.

Posté : 29 mai 2007, 20:58
par Klomac
Un petit clic "Mettre résolu" :)