显示同一分组中的其他元素的sql语句
(编辑:jimmy 日期: 2025/2/24 浏览:3 次 )
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(分组函数)

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(分组函数)
下一篇:通过系统数据库获取用户所有数据库中的视图、表、存储过程