Microsoft SQL Server 2005では、mysqlのgroup_concat関数をシミュレートしたmysql
MySQLベースのアプリケーションをMicrosoft SQL Server 2005に移行するプロセスでは、MySQLのGroup_Concat関数の関数をコピーする必要があります。この関数は、マルチラインのグループクエリを単一のコンマ分離文字列に組み合わせます。
解決策:SQLサーバーにはGroup_Concat関数に相当するネイティブはありませんが、複数のテクノロジーの組み合わせを使用してその関数をシミュレートできます。 xml接続を使用:
1つの方法は、文字列をXMLに接続し、結果を抽出することです。
ダイナミックSQL: を使用します
別の方法は、「」「コンピューティングシンボル接続文字列を使用してクエリを動的に生成すること」です。ユーザーのカスタム関数(UDF)を使用:
<code class="language-sql">WITH ConcatenatedXML AS ( SELECT empName, ( SELECT ', ' + projID FROM project_members WHERE empName = e.empName FOR XML PATH('') ) AS projIDs FROM project_members AS e GROUP BY empName ) SELECT empName, SUBSTRING(projIDs, 2, LEN(projIDs) - 2) AS group_concat_result FROM ConcatenatedXML;</code>
最後に、group_concat:の動作をシミュレートするUDFを作成できます。
このUDFは、次のように使用できます
以上がSQL Server 2005 で MySQL の GROUP_CONCAT 関数をシミュレートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。