ホームページ >データベース >mysql チュートリアル >Oracle SQL で複数の行の列値を連結するにはどうすればよいですか?
Oracle SQL: 複数の行にわたる列値の結合
このガイドでは、Oracle SQL 内の複数の行の列値を連結する効率的な方法を説明します。 LISTAGG
関数は、簡単な解決策を提供します。
<code class="language-sql">SELECT pid, LISTAGG(Desc, ' ') WITHIN GROUP (ORDER BY seq) AS description FROM B GROUP BY pid;</code>
このクエリは次のアクションを実行します:
pid
によるグループ化: テーブル B
内の行は、pid
列に基づいてグループ化されます。Desc
値の連結: LISTAGG
関数は、各 Desc
グループの pid
列の値を連結します。 区切り文字としてスペース(' ')が使用されます。seq
による順序: 各グループ内の連結順序は、seq
列によって決まります。description
列: 各 pid
グループの連結文字列が description
列に割り当てられます。特定の pid
値を取得するには、この結果セットをテーブル A
と結合します。
重要な考慮事項: LISTAGG
は VARCHAR2
列用に最適化されています。 他のデータ型については、代替の Oracle 文字列集計手法を検討してください。
以上がOracle SQL で複数の行の列値を連結するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。