SQLでSELECTした複数行の結果を、カンマ区切りなどで1つのカラムにして1行で結果を取得したいケースがあったのでぐぐってみたら、あったのでメモ。
MySQLではGROUP_CONCAT関数を使えば任意のセパレータで表示してくれる。同様にOracleも方法があるようだ。Postgresは未調査。サンプルコードは他で探してください。すみません。
今回は複数行の結果をループで処理するのが面倒だったので1回でやる方法を探してみたのだが、同じような事考える人はいるわけで、ずっと前から答えは提供されていたのだな。
パフォーマンスには問題があると思うが、用途によっては非常に便利。
サッカーの持ち技が1つ増えたような気分だ。