显示同一分组中的其他元素的sql语句

1.原始查询表结果
 
2.理想查询表结果
 

一很牛的朋友写的sql语句大笑,学习啦偷笑:

select userpwd,username=stuff((select ‘,’+username from tuser t1 where t1.userpwd=t.userpwd for xml path(”)),1,1,”)
from tuser t
group by userpwd

说明: a.stuff方法(举例说明:select stuff(‘abcdef’, 2, 3, ‘klmn’); 在第一个字符串如: abcdef 中删除从第 2 个位置(字符 b)开始的三个字符,然后在删除的起始位置插入第二个字符串,从而创建并返回一个字符串aklmnef),

b.for xml path(在SQL Server中利用 FOR XML PATH 语句能够把查询的数据生成XML数据),

c.group by(分组函数)


数据运维技术 » 显示同一分组中的其他元素的sql语句