2 つの値を持つテーブルの 1 つの SQL クエリからデータを取得したい
select c from tmp;
c
foo
bar
2 rows in set (0.00 sec)
必要な返されたデータは <foo,bar> です
Concat はこれを行わず、私が見つけた文字列関数も行いません。2行の整数を合計できます。同様に文字列値を取得できないのはなぜですか?
関数を使用GROUP_CONCAT()
して値をまとめることができます。
これにより、コンマで区切られたすべての文字列値が結合されます
group_concat()
おそらく、MYSQL にが必要です。
ここで MYSQL にサンプルが必要であることに注意してください。
Select department, group_concat(name,',') as nameList
from foo
group by department
;
結果:
Department NameList
D1 John, Mary
D2 Tim, Dan, Jack
D3 Kate, Felix
以下は、TSQL で使用するメソッドです。
次のサンプル コードを試して、テーブル/列に合わせて調整できます。
SELECT department, namelist = STUFF(
(SELECT ','+ Name FROM foo B
WHERE b.department = a.department FOR XML PATH('')) , 1 , 1 , '' )
FROM foo A
または、 を実行することもできますCTE
。