【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