2010-08-16 155 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。