Oracle SQL で複数の行を 1 つの行に統合する
Oracle SQL には、複数の行を 1 つの行に結合するためのいくつかの方法が用意されています。 1 つのアプローチでは、WM_CONCAT
関数を使用します (注: Oracle 12c 以降では非推奨になりました)。 WM_CONCAT
は、特定の列内の複数の行の値を連結します:
<code class="language-sql">SELECT field1, WM_CONCAT(field2) FROM YourTable GROUP BY field1;</code>
WM_CONCAT
が使用できない Oracle バージョンの場合、カスタム集計関数が実行可能なソリューションを提供します。 このような文字列集計関数の作成に関する詳細なガイダンスは、Oracle-base.com などのリソースで参照できます。 基本的な例:
<code class="language-sql">CREATE FUNCTION String_Agg(VALUES VARCHAR2, DELIM VARCHAR2) RETURN VARCHAR2; -- Function implementation details here</code>
このカスタム関数では文字列値の集計が可能です:
<code class="language-sql">SELECT field1, String_Agg(field2, ',') FROM YourTable GROUP BY field1;</code>
WM_CONCAT
(該当する場合) とカスタム集計関数は両方とも、複数の行を 1 つの行に効果的に統合し、データをより簡潔かつ整理された方法で表示します。
以上がOracle SQLで複数の行を単一の行に集約するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。