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
我在 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