Oracleの列を行に変換する方法は何ですか?
Oracleデータベースでは、UNPIVOT操作を使用して列を行に変換することができます。以下は例です:
t1という表があると仮定してください。
ID名前歳都市1
トム
25
パリ2
ジェーン
30
東京3
アレックス
35
ロンドン
列を行に変換するには、UNPIVOT操作を使用することができます。
SELECT *
FROM t1
UNPIVOT (Value FOR Attribute IN (Name, Age, City))
上記のクエリを実行すると、以下の結果が得られます。
ID属性値1
名前
トム1
年齢
251
市
パリ2
名前
ジェーン2
年齢
302
市
東京3
名前
アレクス3
年齢
353
市
ロンドン
UNPIVOT操作により、各元の行が複数の行に変換され、それぞれの行には元の行のID、属性、値が含まれます。