我有三個表:喜歡用以下結構的多維數組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