PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 06-07-2010 12:14:55

S00999
Membre
Inscription : 06-07-2010
Messages : 2

[MySQL] Compter le nombre d'entrées d'une 2e table

Bonjour à tous

J'ai mon résultat mais la méthode ne me plais pas du tout... J'ai du passer à coté de quelques chose de très simple et plus 'propre'. (non je ne suis pas développeur à la base, vous l'aurez bien compris ^^)

Hypothese:
1 table contenant une liste d'objet et leur description
1 table contenant des notes/commentaires sur ces objets (0 ou plusieurs notes par objet possibles)
Lien entre les table: un id d'objet unique (ici objid)

Résultat recherché:
noms d'objet, nombre de commentaires pour chaque objet

A ce jour j'utilise un JOIN entre deux requetes pour 1. sortir la liste des objets (filtrée), 2. sortir le nombre de commentaires de chaque objet

Le résultat est presque ce que je souhaite malgré le cas particulier du 0 notes qui m'oblige à faire un traitement php particulier sur le résultat mais je m'en suis accommodé. Je souhaitai juste avoir d'autres propositions qui, j'imagine, seront bien plus 'normalisées' et certainement sans utilisation d'un JOIN assez barbare...

Je suis donc ouvert à toute proposition ^^

Un grand merci d'avance

Dernière modification par S00999 (06-07-2010 12:27:06)

Hors ligne

#2 06-07-2010 12:32:04

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : [MySQL] Compter le nombre d'entrées d'une 2e table

Saluton,
Je ne vois pas ce que tu reproches à la syntaxe normalisée SQL92 pour écrire une jointure.
Puisque les colonnes des deux tables participant à la jointure ont le même nom, tu peux utiliser la syntaxe USING

SELECT objs.objid, objs.objnom,  COUNT(*) AS nbcmt
FROM objs
LEFT JOIN  cmts USING (objid)
WHERE objs.objid="XXX"

D'autre part, puisque tu filtres sur une seule valeur d'objs.objid, le GROUP BY ne sert à rien.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#3 06-07-2010 12:43:00

S00999
Membre
Inscription : 06-07-2010
Messages : 2

Re : [MySQL] Compter le nombre d'entrées d'une 2e table

Merci Kris
J'ai modifié mon message entre temps car effectivement mon exemple n'était pas bon, j'avais voulu exposer un cas simple car le mien est bien plus compliqué... ce faisant j'ai écris une requête SQL incohérante.
J'avais trouvé JOIN assez inadapté dans mon cas ne souhaitant que compter le nombre d'objet d'une autre table et pensant que je passais acoté d'un SELECT très simple, mais si c'est là la bonne méthode alors tant mieux

Je vais regarder 'USING'
Merci beaucoup

Hors ligne

Pied de page des forums