PHP と MySQL データベースを使用して、Apache で実行するために最初に作成したアプリケーションを移植しています。クエリの 1 つは、 と の MySQL 関数を使用して、Concat_WS
最初Group_Concat
にいくつかの異なる列を 1 つの文字列に連結し、次にGroup_By
句によってグループ化されたすべての項目を連結しました。
例として:
ID Name Candy
1 John M&Ms
1 John KitKat
クエリ:
Select Group_Concat(Concat_WS('-',Name, Candy) Separator '00--00') as UserCandy
From ExampleTable
Group By ID
結果:
UserCandy
John-M&Ms00--00John-KitKat
現在、PHP 5.4+ を使用して SQL Server 2008 で同じ結果を達成しようとしています。
私が試したこと:
SELECT Stuff(name + ';' + candy, 1, 0, '-----') AS UserCandy
FROM test
期待される結果は次のようになります。
-----John;MMs-----John;KitKat
最後に、ミックスに列を追加すると、これはさらに難しくなります。IDが同じである結果(上記のように)をマージしたいと思います。group_concat
これは、グループ化された行を自動的にマージするため、非常にうまく機能します。