2014-07-14 79 views
1

我有這個category_post_tag數據透視表。MySQL - 獲取所有帖子(不同)與標籤

例如:

category_id   post_id   tag_ig 
    1     1    1 
    1     1    2 
    1     2    3 
    1     3    1 
    1     3    3 
    2     4    5 

現在可以說,我想抓住一些職位,屬於我的第一個類別ID。

然後,我會選擇這個數據透視表中的所有職位,其category_id 1 ,我可能會通過post_id將他們分組。

結果:

post_id: 1, 2, 3 

我不知道這是否是做的最好的方式,但我認爲它沒有那麼糟糕。

好吧,但我的問題是,當我想知道屬於該返回的帖子的每個標籤。

因此,如果我group_by post_id我將永遠只有一個標籤到一個職位。

有沒有辦法找回屬於一個職位的所有標籤,並仍然有一個獨特的職位數組?

+0

只是出於好奇閒置的,你爲什麼要這麼做? – Strawberry

+0

@Strawberry這是如何在這個博客引擎中連接類別,帖子和標籤。 –

+0

這很好。我只是不明白爲什麼你想要這種格式的結果。或者,我可能並不真正瞭解所需的結果集應該是什麼樣子。在我看來,並且粗略地說,在GROUP_CONCAT(或確實是CONCAT)是正確答案的SQL中沒有問題。但也許這只是我。 – Strawberry

回答

1

使用GROUP_CONCAT()

select post_id, 
     group_concat(tag_id) as tag_ids 
from category_post_tag 
where category_id = 1 
group by post_id 
+0

謝謝,那太棒了。祝你今天愉快。限制結束後,我會盡快接受你的回答。 –

相關問題