我希望使用以下表格在Sql中获得所需的查询
用户表
身份证号码
1维克拉姆
2 vik
3 ram
的productTable
id userid productdetails活动
1 1 XXXX是
2 1 YYYY NO
3 3 AAAA是
4 3 BBBB是
5 1 CCCC是
现在我希望结果像是一样的 由用户分页的用户分组的活动产品
第1页
用户1
产品1
产品2
产品5
用户3
产品3
我变得像
用户1产品1
用户1产品2
用户1产品5
用户3产品3
但我在单个查询中需要这样的东西
用户1产品1产品2产品5
用户3产品3
任何帮助将不胜感激 谢谢&问候 维克拉姆
答案 0 :(得分:0)
SELECT
ev.userid
, Product = STUFF(CAST((
SELECT [text()] = ', ' + ev2.productdetails
FROM #ProductTable ev2
WHERE ev2.userid = ev.userid
FOR XML PATH(''), TYPE) AS VARCHAR(100)), 1, 2, '')
FROM (
SELECT DISTINCT userid
FROM #ProductTable
) ev
输出:
userid Product
1 XXXX, YYYY, CCCC
3 AAAA, BBBB
答案 1 :(得分:-1)
SELECT User, ConcatProduct =
(
SELECT [text()] = A.Product + ' '
FROM TableName A
WHERE A.User = B.User
FOR XML PATH('')
)
FROM TableName B
GROUP BY User
在您获得如下运行上层查询之后的数据。
user1 Product 1
user1 Product 2
user1 Product 5
user3 Product 3
在假定您的第一个列名称User和第二个列名称Product时编写查询。输出如下:
user1 Product 1 Product 2 Product 5
user3 Product 3