contexte strong> J'ai des difficultés à comprendre l'application de la déclaration de jointure lorsque j'essaie de retourner des lignes de valeurs de message et de trouver leur comptage correspondant, qui sont stockés dans une table différente. La première table que j'essaie de tirer d'en est une qui contient les messages que je veux: P> Je tente alors d'utiliser le fichier question strong> p> Je crois que je peux Combinez ces deux questions en une seule à l'aide d'une jointure, mais je ne suis pas sûr de la façon de le faire. Lorsque je combine les deux, le nouveau résultant code > Valeurs à insérer dans la deuxième requête, qui obtient les comptes similaires: p> beCotCount code> renvoie le nombre de tous les votes du forum inséré, pas seulement le nombre de goûts des trois messages spécifiques que je souhaite: P > SELECT forums.forum_id, forums.message,
(SELECT COUNT(forumvotes.forum_id) AS voteCount FROM forumvotes JOIN forums ON forumvotes.forum_id = forums.forum_id WHERE forumvotes.forum_id = forums.forum_id) AS voteCount
FROM forums LIMIT 3
3 Réponses :
Vous devez bien corrélation em> la sous-requête avec la requête extérieure. Le problème est que vous utilisez le même alias pour l'extérieur et l'intérieur, de sorte que la condition dans le est inutile d'utiliser le tableau code> code> dans la sous-requête de toute façon. Vous pouvez écrire ceci comme suit: p> Vous auriez également besoin d'une clause code> par code> si vous souhaitez des résultats cohérents sur des exécutions consécutives. P > p> où la clause code> ne filtre rien. Vous devriez utiliser des alias de table pour éviter ce problème.
De la façon dont vous décrivez cela, vous chercheriez à faire une sous-requête «dans» ici. Spécifiquement ce que cela va de retourner uniquement les ID des trois premiers des lignes de forum et les rejoignant avec des informations sur le forum p> p>
i rejoindre code> la table des forums à une requête imbriquée contient le nombre compte, groupe par code> chaque forum_id code>