1
J'ai quatre tables.Besoin d'aide sur une requête JOIN qui fonctionne presque
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 |
+---------+-----------+
Je veux être en mesure de sélectionner les messages, mais cette suite
post.id post.title tags comments
-----------------------------------------------------
1 hello news,photos 1
2 goodbye photos 2
Quelque chose comme
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
Le problème que je suis en cours d'exécution en est-il ne revient pas le nombre approprié de commentaires. Au lieu de cela, il semble retourner le nombre de tags. S'il vous plaît conseiller, merci pour votre temps :)
impressionnant, qui a travaillé :) Merci – axsuul