【SQL server】特定の列が同じ値を持つレコードをカンマ区切りで出力する
以下のようなテーブルで、同じカテゴリーの値はカンマ区切りで出力したい。
memberテーブル
| ctg | name |
|---|---|
| man | A |
| man | B |
| man | C |
| woman | D |
| woman | E |
| unknown | Z |
↓
| ctg | name |
|---|---|
| man | A, B, C |
| woman | D,E |
| unknown | Z |
実行コード
SELECT DISTINCT MEM.ctg, STUFF((SELECT ', ' + M.name FROM member M WHERE M.ctg = MEM.ctg FOR XML PATH('')), 1, 2, '') AS name FROM member MEM