MySQL多表访问查询

时间:2010-08-16 19:41:00

标签: mysql

我是网络开发的新手......大部分时间我都是自学...

我必须设计一个数据库结构,以便在博客中存储类似于标签和帖子的项目。 设计将是:

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

现在我在网上阅读的内容,这是存储TAGS并将其与帖子联系起来的最佳方式..(如果我错了请纠正我)现在我的疑问是如何检索所有TAGNAME与POSTID相关联。

很抱歉这样一个新问题,但即使我无法弄清楚我在谷歌搜索什么查询。

请向我推荐关于MySQL的一些好的笔记/教程。

2 个答案:

答案 0 :(得分: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`

答案 1 :(得分:1)

要获取您要执行的特定帖子的所有标记:

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

并将帖子ID绑定到:postid。