これは私のデータベーススキーマです:
Post:
id
title
body
date
Tag:
id
title
Post_Tag:
id
id_post
id_tag
Comment:
id
id_post
body
date
投稿とタグの間には多対多の関係があります。
最新の10件の投稿について、これをホームページに印刷する必要があります。
<a href="post.php?id=ID_POST">POST_TITLE</a>
POST_BODY
<a href="tag.php?id=ID_TAG_1"> TAG_TITLE_1 </a>
<a href="tag.php?id=ID_TAG_2"> TAG_TITLE_2 </a>
<a href="tag.php?id=ID_TAG_3"> TAG_TITLE_3 </a>
COMMENTS_NUMBER
私はこのクエリを書きますが、投稿ごとに php でタグを抽出するのは少し複雑です。
SELECT p.title, p.id, p.date, t.title, t.id, COUNT(c.id)
FROM post p
LEFT JOIN post_tag pt
ON p.id=pt.id_post
LEFT JOIN tag t
ON t.id=pt.id_tag
LEFT JOIN comment c
ON p.id=c.id_post
GROUP BY p.title, p.id, p.date, t.title
ORDER BY p.date DESC
これを行うためのより効率的な方法はありますか?