2010-08-16 111 views
0

我是網絡開發新手...大部分是我自己學習..MySQL多表訪問查詢

我得設計一個數據庫結構,以便在博客中存儲類似於標籤和帖子的項目。 的設計是:

_____________ 
Tag Table 
TAGID | TAGNAME 
_____________ 
_____________ 
Post Table 
POSTID | POSTNAME 
_____________ 
_____________ 
Tag Post Relation Table 
TAGID | POSTID 
_____________ 

現在我已經在時間在線閱讀,這是存儲標籤和它涉及到的職位..最好的方式(請糾正我,如果我錯了)現在我的懷疑是如何檢索與POSTID相關的所有TAGNAME。

對不起,這個新問題,但即使我無法弄清楚我在谷歌搜索什麼查詢。

請給我推薦一些關於MySQL的好筆記/教程。

回答

3

這是怎麼回事?

Select Tag.tagname 
from tag, tagpost 
where tagpost.postid = '$something' 
    and tagpost.tagid = tag.tagid; 

替代語法與JOIN關鍵字:

Select Tag.tagname 
from tag 
    inner join tagpost on tagid = tagpost.tagid 
where tagpost.postid = `$something` 
+0

+1:對於ANSI-92語法 - 沒有ANSI-89的東西 – 2010-08-16 19:47:32

+0

嗨,感謝提示.. :) – 2010-08-16 19:51:50

1

要得到所有標籤爲你執行一個特定的帖子:

select tags.tagname from tags 
inner join tags_posts on tags_posts.tagid=tags.tagid 
where tags_posts.postid=:postid 

並綁定文章ID:帖子ID。