2014-11-06 44 views
1

我加入了兩個表格。 與此查詢顯示加入特殊格式的結果

Select P.P_id,p.P_title,p.P_text,p.P_date,tag.tag_name from p inner join tag.tag_name on p.P_id=tag.tag_pid where P.P_id=8 

結果表是這樣的:

P_id | P_title | P_text | P_date |tag_name 

8  | title | text  | date  | Tag1 

8  | title | text  | date  | Tag2 

8  | title | text  | date  | Tag3 

9  | title2 | text2  | date2  | Tag4 

9  | title2 | text2  | date2  | Tag5 

9  | title2 | text2  | date2  | Tag1 

我喜歡出這種格式在HTML中使用PHP這樣的結果:

title | text | date | Tag1,Tag2,Tag3 

title2 | text2 | date2 | Tag4,Tag5,Tag1 
+0

你只是想把結果分組在一起? – 2014-11-06 16:34:50

+0

是的。我想要團體結果在一起! – yafater 2014-11-06 16:39:21

回答

2

使用GROUP_CONCAT,那麼你不需要做任何PHP方面的事情。您只能使用$results['all_tags'],它們已經被逗號分隔。

SELECT P.P_id, 
     p.P_title, 
     p.P_text, 
     p.P_date, 
     GROUP_CONCAT(tag.tag_name SEPARATOR ",") AS all_tags 
FROM p 
INNER JOIN tag.tag_name ON p.P_id=tag.tag_pid 
WHERE P.P_id=8 
+0

不客氣@shoara – 2014-11-06 17:11:07

+0

你好我的問題是編輯。通過GROUP_CONCAT無法正常工作。 – yafater 2015-01-15 13:25:50