2014-03-26 65 views
0

好吧,我有2個表,加入以下兩個表的最佳方法是什麼?

url_table

id 
link_url 

標籤表

id 
link_tags 

我想加入他們的行列,創建視圖或表像,

id ,link_tag1, link_tag2, link_tag3..... 

樣本數據:url_table

[1 | w3schools.com] 
[2 | php.net] 

SAMPLE_DATA:tag_table:

[1 | html] 
[1 | javascript] 
[2 | php] 

所需的表

[1 | html,javascript] 
[2 | php] 

我如何最好地做到這一點,而無需使用太多的疑問?

+0

顯示示例數據和預期結果 – AgRizzo

回答

1

您可以使用MySQL的GROUP_CONCAT()功能如下:

SELECT u.url 
     ,GROUP_CONCAT(t.tag) 
FROM url_table u 
JOIN tag_table t 
ON u.id = t.id 
GROUP BY u.url 

注意:在這個例子中JOIN並沒有真正添加任何東西作爲IDtag可能只是從tag_table有,但我認爲它不僅僅是樣品。

+0

是的,在現場:) – wolfgang

0

使用此:

Select a.id,b.link_tag1,b.link_tag2,b.link_tag3 from url_table a 
    inner join tag_table b 
    on a.id= b.id 
-- where {clause here} 
; 
1
Select id, group_concat(`Link_Tag` separator ',') as mTags 
FROM tag_table 
Group by ID 

由於您的結果並不真正呈現網址,因此不需要連接。一切都可以直接在tag_table上完成。

相關問題