ホームページ >データベース >mysql チュートリアル >Oracle SQLで複数の行の列値を連結するにはどうすればよいですか?

Oracle SQLで複数の行の列値を連結するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-23 15:01:121003ブラウズ

How to Concatenate Column Values from Multiple Rows in Oracle SQL?

Oracle SQL: 複数の行にわたる列値の結合

このガイドでは、SQL を使用して Oracle データベース内の複数の行の列値を連結する方法を説明します。集計関数や LISTAGG 関数など、効率的な方法を検討します。

効果的なアプローチの 1 つは、LISTAGG 関数を利用することです。

<code class="language-sql">SELECT pid, LISTAGG(Desc, ' ') WITHIN GROUP (ORDER BY seq) AS description
FROM TableB
GROUP BY pid;</code>

このクエリは、スペースを区切り文字として使用して、個別の Desc ごとに TableBPID 値を巧みに連結します。 出力は結果を PID ごとにグループ化し、それぞれに単一の連結文字列を提供します。

PIDTableA 値を統合するには、結合が必要です:

<code class="language-sql">SELECT a.PID, b.description
FROM TableA a
INNER JOIN (SELECT pid, LISTAGG(Desc, ' ') WITHIN GROUP (ORDER BY seq) AS description
FROM TableB
GROUP BY pid) b
ON a.PID = b.pid;</code>

この結合クエリは最終結果を提供します。各行には、PIDTableA と、対応する Desc の連結された TableB 文字列が表示されます。

以上がOracle SQLで複数の行の列値を連結するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。