SQLの行を列に変換して、1つのフィールドにマージする方法は何ですか?
SQLでは、複数の列を1つのフィールドに変換するために、集計関数とGROUP BY句を使用することができます。
“table_name”という名前のテーブルがあり、”col1″と”col2″の2つの列が含まれています。これら2つの列を1つのフィールドに統合したいとします。
以下は一般的に使用される方法です:
- CONCAT関数を使用する。
SELECT CONCAT(col1, col2) AS merged_column
FROM table_name;
- 「’+’演算子を使用する(文字列の連結をサポートするデータベースにのみ適用):」
SELECT col1 + col2 AS merged_column
FROM table_name;
- 文字列連結関数を使用する(データベースごとに名称が異なる場合があります):
- MySQL和MariaDB: 使用CONCAT函数
SELECT CONCAT(col1, col2) AS merged_column
FROM table_name;
- オラクル: “||”演算子を使用します。
SELECT col1 || col2 AS merged_column
FROM table_name;
- SQL Server: “+”演算子を使用します。
SELECT col1 + col2 AS merged_column
FROM table_name;
上記の方法の中には、使用しているデータベースの種類に応じて適切に変更する必要があるものがあることに注意してください。
複数の行を1つのフィールドに結合したい場合は、GROUP_CONCAT関数を使用することができます(MySQLとMariaDBに適用)。
SELECT GROUP_CONCAT(col1) AS merged_column
FROM table_name;
複数の列を1つのフィールドに結合する一般的な方法は、使用するデータベースの種類と特定の要件に依存します。