私が望んでいるのは、クエリ内のテーブルから文字列を作成して、作成中の別のクエリにその文字列を配置できるようにすることです。たとえば、私はテーブルにこれを持っています:
index | position | name
----------------------------------------
1 | member | John Smith
2 | chair | Mary Jones
3 | member | Mary Jones
4 | contact | Grace Adams
5 | director | Grace Adams
6 | member | Grace Adams
7 | treasurer | Bill McDonnell
8 | vice chair | Bill McDonnell
9 | member | Ishmael Rodriguez
私は次のように結果を探しています:
name | positions
----------------------------------------
John Smith | member
Mary Jones | chair,member
Grace Adams | contact,director,member
Bill McDonnell | treasurer,vice chair
Ishmael Rodriguez | member
このように、 CONCAT_WS() のいくつかのバリアントを使用して結果を取得できることを望んでいました...
SELECT
a.NAME,
CONCAT_WS(
',',
(
SELECT
position
FROM
TABLE
WHERE
NAME = a.NAME
)
)AS positions FROM ---------------
明らかに、これは私にとってはうまくいきません。何か案は?