版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_28766327/article/details/79574451
先直接给出代码:
SELECT GROUP_CONCAT(tag) as tags
FROM table_tag tt
WHERE tt.id in ('1','2')
我们实现合并一个字段的多个结果用到了mysql 函数 GROUP_CONCAT,
现有一个表 table_a 他有一个标签表 table_tag 结构如下:
1.表 table_a :
- a_id:唯一标识
- ……:其他无关字段
2.表 table_tag:
- t_id: 唯一标识
- a_id: table_a 的唯一标识
- tag
- ……:其他无关字段
一个标签 table_tag 对应一个或多个 table_a
现在,要查询 table_a 的信息和它对应的table_tag 并将 tag 字段合并到一起
SELECT a.*,
(SELECT GROUP_CONCAT(t.tag) FROM table_tag t WHERE t.a_id = a.a_id) as tags
FROM table_a where 1 LIMIT 10;
执行结果如下: