2012-01-27 54 views
1

選擇的職位和標籤。如果我有3個表:在單個查詢

帖子

POST_ID 標題 體

標籤

TAG_ID 名

posts_tags

POST_ID TAG_ID

什麼是列出(選擇)爲他們每個人的職位和標籤從單個查詢的最佳方式?

+0

我不明白爲什麼反對票。我想知道是否有一種方法可以獲取帖子的所有標籤,但不會返回超過一次的帖子ID,正文等。 – 2012-01-28 00:12:07

回答

3

只需加入這三張表。如果您使用左連接,您還會看到哪些帖子沒有標籤。

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 
+0

因此,無法獲取帖子的所有標籤,而無法返回更多比一次郵政編號,身體等 這是我想知道的。 – 2012-01-28 00:03:29

+0

這也是可能的:代替「SELECT *」,編寫「SELECT tags.name」,並在查詢處追加一個過濾器表達式「WHERE posts.post_id = 1」。 – tpolyak 2012-01-28 08:37:56