MySQL Left Join-Ci

J'ai une simple table de langues /id de modèle:

langue | modèle

fr, t1
fr, t1
de l'ua, t2
ge, t3
fr, t1
ge, t2
ge, t3

Modèle est toujours soit t1,t2 ou t3. Au total il y a 3 langues: fr, de l'ua, ge.

Il y a beaucoup plus d'informations dans la table, je suis juste de montrer ce qui est pertinent pour cette question, je vais être en utilisant les données pour la représentation graphique et donc besoin de retourner dans ce format:

fr, t1, 3
fr, t2, 0
fr, t3, 0
de l'ua, t1, 0
de l'ua, t2, 1
de l'ua, t3, 0
ge, t1, 0
ge, t2, 1
ge, t3, 2

Ce compte cependant de nombreux modèle d'occurrences dans chaque langue. Mais, le problème que j'ai, c'est de revenir un comptage à zéro si il n'y a pas de modèle de l'identifiant de cette langue en particulier dans le tableau.

Que je pensais qu'il aurait besoin d'une sorte de jointure gauche sous, sélectionnez le modèle id assurez-vous que le 3 id de modèle sont retournés pour chaque langue?

pourquoi ne pas écrire du SQL, afin que nous puissions voir où (ou si) il y a des erreurs?
Est-il aussi un des modèles de tableau et/ou un tableau langues? Ou est-ce un tableau de la seule source de ces données?
sélectionnez une.modèle, count(un.modèle) que le comte, un.la langue, à partir de la table d'un left join (select distinct(modèle) à partir de la table) b sur une.modèle = b.modèle de groupe par une.modèle, un.langage de commande par un.la langue, une.modèle
C'est le seul tableau, c'est pourquoi je pense que j'aurais besoin de "left join (select distinct(modèle).." sur la même table.

OriginalL'auteur StuR | 2011-09-22