我有三个表:喜欢用以下结构的多维数组MySQL的我怎么组合这些表?
blog_posts
int id (auto increment)
varchar(255) title
text content
blog_tags
int id (auto increment)
varchar(63) name
blog_posttags
int id (auto increment)
int post_id
int tag_id
我怎样才能获得(最好用尽可能少的可能查询)这个数据?
我可以计算出如何使从数据库中排列,但不知道如何得到它这样做而不进行查询,我收到,看看哪些标签属于它的每一个博客帖子。
$blogposts = array(
array(
'id' => 0,
'title' => 'blogpost title',
'content' => 'blogpost content',
'tags' => array(
'tagname1', 'tagname2', 'tagname3', ...,
)
),
... (multiple blogposts because WHERE condition may return more than 1)
)
我想像我必须使用UNION
或JOIN
或类似的东西,但我没有真正拥有先进的MySQL的语句经历。
编辑:你可以假设在blog_posttags
一个tag_id
在blog_tags
也存在,也一样有post_id
和blog_posts
。
我喜欢ANSW ERS与SQL小提琴例子+1 –
[sqlFiddle(http://sqlfiddle.com/#!2/8f26f/13/0)同你的答案以上只是更容易阅读(至少对我来说反正)。 –
哈那很有趣,我是工作在非子查询例子,看起来几乎是一样的你 – WebChemist