oracleが複数行の合併を実現する方法
本論文の例は、oracleが複数行のマージを実現する方法を説明する。皆さんの参考にしてください。具体的な分析は以下の通りです。
sqlを書く時、いつもある列のフィールドを合併して、たとえばある人の名義の毎月の給料を表示して、しかしすべての人は1行だけ占めます。
このような場面は、行列で変換しても実現できるかもしれませんが、今月の情報が固定されていないと、行列変換は使えなくなります。
oracle 10 g以降は、関数WMSYS.WM_を提供します。CONCATは、この機能を簡単に実現できます。
この方法が出る前に、自分で関数を書く必要があるかもしれません。ちょっと面倒くさいです。
ここで述べたように、Oracleデータベースプログラムの設計に役に立ちます。
sqlを書く時、いつもある列のフィールドを合併して、たとえばある人の名義の毎月の給料を表示して、しかしすべての人は1行だけ占めます。
このような場面は、行列で変換しても実現できるかもしれませんが、今月の情報が固定されていないと、行列変換は使えなくなります。
oracle 10 g以降は、関数WMSYS.WM_を提供します。CONCATは、この機能を簡単に実現できます。
select t.rank, WMSYS.WM_CONCAT(t.Name) TIME From t_menu_item t GROUP BY t.rank;
これは見ていて気持ちがいいです。この方法が出る前に、自分で関数を書く必要があるかもしれません。ちょっと面倒くさいです。
ここで述べたように、Oracleデータベースプログラムの設計に役に立ちます。