質問: Postgreのデータベースに以下のようなテーブルAがあります。 ``` code | tag 100 | 焼肉 100 | ステーキ 100 | 炭火焼き 200 | ブランド・ショップ 200 | セレクトショップ 301 | 電化製品 301 | ビックカメラ 301 | ヨドバシカメラ ・ | ○○○○○ ・ | ○○○○○ ・ | ○○○○○ ・ | ○○○○○ 1000行くらいあります。 ``` 上記のようなテーブルがあるとします。 これを、以下のようにしてとりだしたいと考えています。 ``` code_unique | connect_tag 100 | 焼肉、ステーキ、炭火焼き 200 | ブランド・ショップ、セレクトショップ 301 | 電化製品、ビックカメラ、ヨドバシカメラ ・ ・ ・ 続きます。 ``` 上記のような形式で、タグを[、]句読点で結合して取り出したいです。 この場合、どのようなSQLで取得できるでしょうか? よろしくご教授くださいませ。
回答: 配列関数を使って作成しました。 ``` create temp table hoge_tb1 (code int, tag text); insert into hoge_tb1 values (100, '焼肉'), (100, 'ステーキ'), (100, '炭火焼き'), (200, 'ブランド・ショップ'), (200, 'セレクトショップ'), (301, '電化製品'), (301, 'ビックカメラ'), (301, 'ヨドバシカメラ') ; select code code_unique, array_to_string(array_agg(tag),'、') connect_tag from hoge_tb1 group by code order by 1; ```