mysql - 将其他表中的多行合并到mysql中的1列中

标签 mysql

我有两张 table

table1

|---------------------|------------------|------------------|
|      student_id     |   studentname    |     parentid     |
|---------------------|------------------|------------------|
|          1          |       Kobe       |        1         |
|---------------------|------------------|------------------|
|---------------------|------------------|------------------|
|          2          |      Lebron      |        1         |
|---------------------|------------------|------------------|


table2
|---------------------|------------------|
|       parentid      |    parentname    |   
|---------------------|------------------|
|          1          |      Jordan      |
|---------------------|------------------|

我想选择这样的输出

result
|---------------------|------------------|------------------|---------------- 
--
|       parentid      |    parentname    |    childrenid    |  childrenname
|---------------------|------------------|------------------|------------------
|          1          |      Jordan      |     1,2          |  Kobe,Jordan
|---------------------|------------------|------------------|------------------

这可能发生吗?预先感谢我已经使用了这个查询,但行是重复的

select * from table2 left join table1 ON table1.parentid = table2.parentid

最佳答案

在mysql中使用GROUP_CONCAT函数

select parentname,
GROUP_CONCAT(student_id SEPARATOR ',') AS childrenid,
GROUP_CONCAT(studentname SEPARATOR ',') childrenname  
from table2 p left join table1 s on
p.parentid=s.parentid
group by parentname

parentname  childrenid  childrenname
Jordan       1,2        Kobe,Lebron

http://www.sqlfiddle.com/#!9/4d9127/2

关于mysql - 将其他表中的多行合并到mysql中的1列中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51691532/

相关文章:

php - 无法通过mysql在php页面上获得所需的信息

php - 无法将 PHP 连接到 MySQL

mysql - SQL 查询仅显示事件作业,而不显示过期作业

php - mysql_fetch_array()/mysql_fetch_assoc()/mysql_fetch_row()/mysql_num_rows 等...期望参数 1 是资源

mysql - OrderBy 没有任何反应 mysql

php - SUM 查询或遍历对象数组并对数据成员求和会更有效吗?

mysql - 使用ANTLR4解析SQL CREATE TABLE语句

mysql - 使用 mysql_config_editor

mysql - 从 LOAD DATA INFILE 捕获错误和警告

sql - 为什么 MySQL 会返回类似 'returned an empty result set' 或 'n row(s) affected' 的消息?