プライマリキーのカラムを取得し、値を結合したカラムを作成したい
MySQLについて質問です。
テーブルの主キーを取得し、値を結合したカラムを追加するということを1回のクエリで実現したいです。
以下のようなテーブルがあったとして、プライマリキーが'id'と'client_id'の2つだったとします。
+------+-----------+-------+
| id | client_id | name |
+------+-----------+-------+
| A001 | 1 | userA |
| A002 | 2 | userB |
+------+-----------+-------+
プライマリキーの内容をカンマ区切りで結合した'result'というカラムを追加したいです。
+------+-----------+-------+---------+
| id | client_id | name | result |
+------+-----------+-------+---------+
| A001 | 1 | userA | A001,1 |
| A002 | 2 | userB | A002,2 |
+------+-----------+-------+---------+
2回のクエリでの実装は以下の手順で行えましたが、1クエリで実現する方法をご教授いただきたいです。
- INFORMATION_SCHEMA.COLUMNSからプライマリキーのリストを取得
- 1で取得したプライマリキーからテーブルをSELECTするSQLを構築、CONCAT_WS関数でresultカラムを作成
以上です。よろしくお願いいたします。