0
我有2个表所示:
表一:GROUP_CONCAT DISTINCT BY ID
ID type
1 1
1 1
2 1
2 2
2 2
3 2
表B:
ID name
1 a
2 b
3 b
和预期的结果:
ID type name
1,2 1 a,b
2,3 2 b,b
我试图:
SELECT GROUP_CONCAT(DISTINCT ID), a.type,
GROUP_CONCAT(SELECT name FROM b WHERE ID = a.ID)
FROM a GROUP BY a.type
但它不工作。我需要名称是GROUP_CONCAT和DISTINCT ID。
它将返回:ID((1,2),(2,3)),类型((1),(2)),名称((a,b),(b)) –
问题是,您需要'b,b' for type = 2?那里的意义究竟是什么?你在这个专栏分组了什么? – Dekel
是的,我需要完全b,b类型= 2.这只是我的问题的一个例子。我找到了一个解决方案: SELECT GROUP_CONCAT(DISTINCT a.id),a.type,(SELECT GROUP_CONCAT(name)FROM b WHERE FIND_IN_SET(ID,GROUP_CONCAT(a.ID)))FROM GROUP BY a.type –