日期:2014-05-18  浏览次数:20417 次

求高手解决SQL查询问题
数据结构,
id varchar(50)
sname varchar(50)
sgroup varchar(50)

数据
id sname sgroup
0001 name1 group1
0002 name2 group1
0003 name3 group1
0004 name4 group1
0005 name5 group2
0006 name6 group2
0007 name7 group3
0008 name8 group4
-----------------------------

要求查询结果
id sname sgroup
同组的,也就是sgroup相同的,sname的结果为所有sname的组合,比如:name1+‘|’+name2+‘|’+name3+‘|’+name4
结果显示:
id sname sgroup

-----------------------------------------
0001 name1+‘|’+name2+‘|’+name3+‘|’+name4 group1
0005 name5+'|'+name6 group2
0007 name7 group3
0008 name8 group4


------------------------------------------
求高手给写sql语句,不要代码段

------解决方案--------------------
SQL code

select min(id) id,sgroup,
    stuff((select ','+sname from tb where sgroup=t.sgroup for xml path('')),1,1,'') sname
from tb t
group by sgroup

------解决方案--------------------
探讨

1楼的sqlserver通过了,能给个同时支持oracle的语句吗?

------解决方案--------------------
探讨
1楼的sqlserver通过了,能给个同时支持oracle的语句吗?