Mysql 需要关于几乎可以正常工作的联接查询的帮助吗
我有四张桌子Mysql 需要关于几乎可以正常工作的联接查询的帮助吗,mysql,Mysql,我有四张桌子 posts | id | title | +---------+-----------+ | 1 | hello | | 2 | goodbye | +---------+-----------+ posts_tags | tag_id | post_id | +---------+-----------+ | 1 | 1 | | 2 | 1 | | 2
posts
| id | title |
+---------+-----------+
| 1 | hello |
| 2 | goodbye |
+---------+-----------+
posts_tags
| tag_id | post_id |
+---------+-----------+
| 1 | 1 |
| 2 | 1 |
| 2 | 2 |
+---------+-----------+
comments
| id | post_id | comment |
+---------+------------+-----------+
| 1 | 1 | hey |
| 2 | 2 | what up |
| 3 | 2 | blah |
+---------+------------+-----------+
tags
| id | name |
+---------+-----------+
| 1 | news |
| 2 | photos |
+---------+-----------+
我想能够选择的职位,但有这个结果
post.id post.title tags comments
-----------------------------------------------------
1 hello news,photos 1
2 goodbye photos 2
差不多
SELECT *,
GROUP_CONCAT(tags.name) AS tags,
COUNT(comments.id) AS comments
FROM posts
LEFT JOIN comments
ON posts.id = comments.post_id
LEFT JOIN posts_tags
ON posts.id = posts_tags.post_id
LEFT JOIN tags
ON posts_tags.tag_id = tags.id
GROUP BY posts.id
我遇到的问题是它没有返回正确数量的评论。相反,它似乎返回了标签的数量。请告知,谢谢您的时间:)尝试计数(distinct comments.id)尝试计数(distinct comments.id)