これが私のクエリです
$getPosts = mysql_query ('SELECT `posts`.*, COUNT(`comments`.`comment_id`)
FROM `posts`
LEFT JOIN `comments`
ON (`posts`.`post_id` = `comments`.`post_id`)
ORDER BY `posts`.`post_id` DESC')
or die(mysql_error());
そしてそれをループする...
while ($post = mysql_fetch_row($getPosts))
{
echo $post[1] . ' ' . $post[4] . ' comments'; // example
}
すべて正常に動作しますが、最初の行のみです。
現在、post_id 1 には 2 つのコメントがあります。post_id 2 は DB にコメントがありません。
これがJOINの仕組みだと思いますが、わかりません。LEFT JOIN は左側にあるもの (つまり post_id) にのみ一致すると思いますが、INNER JOIN、OUTER JOIN などを試しましたが、機能しません。