MYSQL Group_Concat 值到一个字段但保留多行

MYSQL Group_Concat values into one field but keep multiple rows

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

表 1:

Column1
a
b

表 2:

Column1
a,b

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

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

我试过这个:

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

但它只是 returns 一行:

Column1 | Column2
a       | a,b

我也试过添加 group by 子句:

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

每行 returns,但不会将字段连接到第 2 列:

Column1 | Column2
a       | a
b       | b

有什么办法可以解决吗?感谢您的帮助!

您需要将 table 与 returns 连接值的子查询连接起来。

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