a表:
id name
1 张三
2 李四
3 王五
4 赵六b表:
id class aId
1 1 1
2 1 2
3 2 3
4 1 4
查询class=1的所有人的姓名
显示结果为:
class name
1 张三,李四,赵六
id name
1 张三
2 李四
3 王五
4 赵六b表:
id class aId
1 1 1
2 1 2
3 2 3
4 1 4
查询class=1的所有人的姓名
显示结果为:
class name
1 张三,李四,赵六
解决方案 »
- 能否有办法像被删除短号的自增列插入内容
- 如何删除MYSQL中的空字符串
- Sql替换字段内的内容如果带特殊符号怎么办?
- 单表数据量超60万条就不行了。怎么办。
- 如何用C++语言连接MySQL数据库
- mysql 主键自动增长 主键是p001,p002的增长
- 关于mysql的trancate()函授的疑问
- mysql 错误,错误号(2013):ERROR 2013: Lost connection to MySQL server during query
- 請問在Linux下copy出來的mySQL文檔可不可以直接在Window2000下使用
- 3表关联 求总数
- mysql导出数据库问题
- 在trigger中mysql怎么获取inserted值?
on a.id=b.aid group by b.class
+------+--------+
| id | name |
+------+--------+
| 1 | 张三 |
| 2 | 李四 |
| 3 | 王五 |
| 4 | 赵六 |
+------+--------+
4 rows in set (0.00 sec)root@localhost : test 04:32:33>select * from b;
+------+-------+------+
| id | class | aid |
+------+-------+------+
| 1 | 1 | 1 |
| 2 | 1 | 2 |
| 3 | 2 | 3 |
| 4 | 1 | 4 |
+------+-------+------+
4 rows in set (0.00 sec)root@localhost : test 04:32:34>select class,group_concat(name) as name from a,b where a.id=b.aid and class=1 group by class;+-------+----------------------+
| class | name |
+-------+----------------------+
| 1 | 张三,李四,赵六 |
+-------+----------------------+
1 row in set (0.00 sec)
这种方法我知道,但是如果再多一个表关联在一起,有两个属性可能有多个值,这时候就会出问题。
id | name | test
1 | 张三,李四 | a,a在这个查询中test并没有多个值,但是加上GROUP_CONCAT()之后就会出现这种问题,该怎么消除呢?