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 –