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内で指定している列の型がすべて同じでないと
エラーが出るので注意してください。