繁体   English   中英

MYSQL Group_Concat值进入一个字段,但保留多行

[英]MYSQL Group_Concat values into one field but keep multiple rows

我在MySQL中有两个表,一个表在每一行中包含一个值,另一个表包含相同的值,但是它们都被合并为一个行。 因此,例如:

表格1:

Column1
a
b

表2:

Column1
a,b

我想根据表1创建一个映射表,以便可以对它们进行联接。 我正在寻找的结果是这样的:

Column1 |  Column2
a       |  a,b
b       |  a,b

我已经试过了:

SELECT Column1, GROUP_CONCAT(DISTINCT Column1) AS Column2 
FROM Table1

但是它只返回一行:

Column1 | Column2
a       | a,b

我也尝试添加group by子句:

SELECT Column1, GROUP_CONCAT(DISTINCT Column1) AS Column2 
FROM Table1
GROUP BY Column1

这将返回每一行,但不会将字段串联到column2中:

Column1 | Column2
a       | a
b       | b

有什么办法解决这个问题? 感谢您的帮助!

您需要使用一个返回连接值的子查询将表连接起来。

SELECT t1.Column1, g.c
FROM Table1 AS t1
CROSS JOIN (
    SELECT GROUP_CONCAT(Column1) AS c
    FROM Table1) AS g

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM