ゆるふわエンジニアのブログ

やったこと、調べたこと等をつらつらと書いていくかもしれません。

SQL文を駆使し、横持ちのデータを縦持ちにする(Oracle)

SQL文を駆使し、横持ちのデータを縦持ちにする方法について紹介していきます。

下記のデータを元に、どうSQL書けばいいのか見ていきましょう。
(下記データは適当です。)
テーブル名:TEST

ID PARA1 PARA2 PARA3 PARA4
0001 1 2 3 4
0002 5 6 7 8
0003 9 10 11 12

下記の様に、単純にUNION ALLで結合でしていけば横持ちを縦持ちに変換できます。

SELECT PARA1 FROM TEST
UNION ALL
SELECT PARA2 FROM TEST
UNION ALL
SELECT PARA3 FROM TEST
UNION ALL
SELECT PARA4 FROM TEST

この時、SELECT内で指定している列の型がすべて同じでないと
エラーが出るので注意してください。