连接列 MYSQL
Concat column MYSQL
我有这个select
SELECT page.*, page_lang.*, category.title as category FROM page
JOIN page_lang ON page.id = page_lang.id_page
JOIN relation ON page.id = relation.from_id
JOIN page_lang as category ON category.id_page = relation.to_id
WHERE page.type = 'blog-detail'
AND relation.type = 1
当一页有两个或更多类别时,这 return 重复行
ID 页 |标题 |类别
1 |标题 1 |类别 1
2 |标题 2 |类别 1
3 |标题 3 |类别 2
1 |标题 1 |类别 2
但我想要这个
ID 页 |标题 |类别
1 |标题 1 |第 1 类、第 2 类
2 |标题 2 |类别 1
3 |标题 3 |类别 2
如果我使用 GROUP_CONCAT(category.title) return 1 行。
尝试使用命令"UNIQUE"
SELECT UNIQUE page.*, page_lang.*, category.title as category FROM page
JOIN page_lang ON page.id = page_lang.id_page
JOIN relation ON page.id = relation.from_id
JOIN page_lang as category ON category.id_page = relation.to_id
WHERE page.type = 'blog-detail'
AND relation.type = 1
你应该使用 group_concat:
SELECT page.*, page_lang.*, group_concat(distinct category.title) as category FROM page
JOIN page_lang ON page.id = page_lang.id_page
JOIN relation ON page.id = relation.from_id
JOIN page_lang as category ON category.id_page = relation.to_id
WHERE page.type = 'blog-detail'
AND relation.type = 1
GROUP BY page.id
我有这个select
SELECT page.*, page_lang.*, category.title as category FROM page
JOIN page_lang ON page.id = page_lang.id_page
JOIN relation ON page.id = relation.from_id
JOIN page_lang as category ON category.id_page = relation.to_id
WHERE page.type = 'blog-detail'
AND relation.type = 1
当一页有两个或更多类别时,这 return 重复行
ID 页 |标题 |类别
1 |标题 1 |类别 1
2 |标题 2 |类别 1
3 |标题 3 |类别 2
1 |标题 1 |类别 2
但我想要这个
ID 页 |标题 |类别
1 |标题 1 |第 1 类、第 2 类
2 |标题 2 |类别 1
3 |标题 3 |类别 2
如果我使用 GROUP_CONCAT(category.title) return 1 行。
尝试使用命令"UNIQUE"
SELECT UNIQUE page.*, page_lang.*, category.title as category FROM page
JOIN page_lang ON page.id = page_lang.id_page
JOIN relation ON page.id = relation.from_id
JOIN page_lang as category ON category.id_page = relation.to_id
WHERE page.type = 'blog-detail'
AND relation.type = 1
你应该使用 group_concat:
SELECT page.*, page_lang.*, group_concat(distinct category.title) as category FROM page
JOIN page_lang ON page.id = page_lang.id_page
JOIN relation ON page.id = relation.from_id
JOIN page_lang as category ON category.id_page = relation.to_id
WHERE page.type = 'blog-detail'
AND relation.type = 1
GROUP BY page.id