好的,我有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 :(得分: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
并未真正添加任何内容ID
,而tag
只能来自tag_table
,但我将其包含在内假设不仅仅是样本。
答案 1 :(得分:1)
Select id, group_concat(`Link_Tag` separator ',') as mTags
FROM tag_table
Group by ID
由于您的结果并未真正呈现网址,因此无需加入。一切都可以直接在tag_table上完成。
答案 2 :(得分: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}
;