【发布时间】:2012-01-27 23:44:00
【问题描述】:
如果我有 3 张桌子:
帖子
post_id 标题 身体
标签
tag_id 名字
posts_tags
post_id tag_id
从单个查询中列出(选择)帖子和每个帖子的标签的最佳方法是什么?
【问题讨论】:
-
我不明白为什么会投反对票。我想知道是否有一种方法可以获取帖子的所有标签,而无需多次返回帖子 ID、正文等。
如果我有 3 张桌子:
帖子
post_id 标题 身体
标签
tag_id 名字
posts_tags
post_id tag_id
从单个查询中列出(选择)帖子和每个帖子的标签的最佳方法是什么?
【问题讨论】:
只需连接三个表。如果你使用左连接,你还会看到哪些帖子没有标签。
SELECT *
FROM posts
LEFT JOIN posts_tags ON posts.post_id = posts_tags.post_id
LEFT JOIN tags ON posts_tags.tag_id = tags.tag_id
【讨论】: