別のテーブルの返信数に関するフォーラムトピックの並べ替えを取得するこのクエリで問題が発生しています。whereの前にLeftjoinを使用してこれを試しましたが、whileループで一部のデータが省略されていました。
SELECT forum_topics.*, COUNT(forum_posts.comment_id) AS replies
FROM forum_topics
WHERE forum_topics.subcat_id = '$subcatid'
LEFT JOIN forum_posts
ON forum_topics.topic_id=forum_posts.topic_num
ORDER BY replies DESC
それは私にこれをエラーとして与えます:
You have an error in your SQL syntax; check the manual that corresponds to your
MySQL server version for the right syntax to use near 'LEFT JOIN forum_posts ON
forum_topics.topic_id=forum_posts.topic_num ORDER BY r' at line 1
これは、以前は機能していたクエリです。
SELECT * FROM forum_topics WHERE subcat_id = '$subcatid' ORDER BY date DESC
エコーするには、次を使用します。
$getChildCategory = mysql_query($query) or die(mysql_error());
$num = mysql_num_rows($get);
if($num == 0){ echo 'No Posts';}
else{
while ($row = mysql_fetch_assoc($get)){
エコーすると、左の結合で1つの結果しか得られませんが、古い結合では2つの結果が得られました。これは私が期待したものです。