3

次のように、メンバーシステムの2つのテーブルからのデータがあります。

Table: listuser
userid  listid
===========
1       5
1       8
1       3
2       5
2       3
3       4
4       4
5       3
6       4

Table: list
id  name
==============
3   Members
4   Non Members
5   Subscribers
8   Test

私が達成しようとしているのは、次のような結果です。

userid  lists
===================
1       Members, Subscribers, Test,
2       Members, Subscribers
3       Non Members,
4       Non Members,
5       Members,
6       Non Members,

ユーザーは0からnのリストに属することができます。私はいくつかのアプローチを試しましたが、常にuseridの複数の行が表示され、これを削除しようとしています。私はいくつかの助けのために非常にいっぱいになるでしょう。

4

1 に答える 1

3

これを試して。それはあなたを助けます

SELECT DISTINCT lu2.userid,(
SELECT ISNULL(l1.name, '') + ', '
FROM dbo.listuser lu1 JOIN dbo.list l1 ON lu1.listid = l1.id
WHERE lu1.userid = lu2.userid 
FOR XML PATH('')) AS name
FROM dbo.listuser lu2
ORDER BY lu2.userid

SQLフィドルの例

于 2012-10-21T13:58:05.790 に答える