MySQLでの列を行に変換する方法は何ですか?
MySQLでは、列を行に変換するためにUNION演算子を使用することができます。
例えば、以下の表があるとします。
+----+-------+
| id | value |
+----+-------+
| 1 | 10 |
| 2 | 20 |
| 3 | 30 |
+----+-------+
このテーブルのvalue列を行に変換するには、以下のクエリを使用できます。
SELECT 'value' AS type, value FROM table_name
UNION
SELECT 'id' AS type, CAST(id AS CHAR) AS value FROM table_name;
検索結果は次のとおりです。
+-------+-------+
| type | value |
+-------+-------+
| value | 10 |
| value | 20 |
| value | 30 |
| id | 1 |
| id | 2 |
| id | 3 |
+-------+-------+
上記のクエリでは、最初のSELECT文はtypeが’value’である行のvalue列を検索し、2番目のSELECT文はtypeが’id’である行のid列を検索します。最後に、UNIONを使って2つの結果セットを1つの結果セットにマージします。