この SQL Server クエリは、EMP
テーブルから部門ごとに整理された従業員名のカンマ区切りのリストを効率的に作成します。 このプロセスでは、サブクエリと文字列操作テクニックを巧みに使用します。
FOR XML PATH('')
句内に埋め込まれたサブクエリは、各部門の従業員名を収集します。 この連結は XML タグなしで行われ、特定の部門のすべての従業員名を含む XML フラグメントが生成されます。このフラグメントは allemp
変数に保存されます。
次に、REPLACE
関数は、allemp
文字列内のスペースをコンマに置き換え、目的のコンマ区切りのリストに変換します。 deptno
でグループ化された最終結果では、部門ごとに 1 行が提供され、カンマで区切られた従業員名が表示されます。
出力は次のとおりです:
<code>deptno allemp 10 CLARK,KING,MILLER 20 SMITH,JONES,SCOTT,ADAMS,FORD 30 ALLEN,WARD,MARTIN,BLAKE,TURNER,JAMES</code>
FOR XML PATH('')
句は、明示的なエイリアスを指定しないと、タグを囲まずに XML フラグメントを生成します。 特殊な XML 文字をより堅牢に処理するには、(付録に示すように) TYPE
キーワードを追加して、適切なエスケープを確保することを検討してください。
このメソッドは、データのエクスポートやレポートの生成に役立つ、カンマ区切りリストを生成する実用的なソリューションを提供します。
以上がSQL Server で部門ごとの従業員名のカンマ区切りリストを生成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。