通过sql语句或存储过程怎样获取这样的结果?(在线等)
表中数据: 
    userType         userId 
       WA319	         yuansf                                           
       WB29	         yuansf                                           
          WC1	         yuansf                                             
 希望得到的结果   
             userType                                          userId 
       WA319|WB29|WWB29	                        yuansf                                             
 谢谢各位大虾了!   
------解决方案--------------------if object_id( 'tbTest ') is not null 
 drop table tbTest 
 if object_id( 'fnMerge ') is not null 
 drop function fnMerge 
 GO 
 create table tbTest(userType varchar(10),userId varchar(10)) 
 insert tbTest 
 select  'WA319 ',	    'yuansf ' union all 
 select  'WB29 ',	    'yuansf ' union all 
 select  'WC1 ',	    'yuansf ' 
 GO 
 create function fnMerge(@userID varchar(10)) 
 returns varchar(8000) 
 as 
 begin 
     declare @str varchar(8000) 
     set @str =  ' ' 
     select @str = @str +  '| ' + userType from tbTest where userID = @userID 
     return stuff(@str,1,1, ' ') 
 end 
 GO   
 ----查询 
 select dbo.fnMerge(userID) AS userType,userID from tbTest group by userID   
 drop table tbTest 
 drop function fnMerge   
 /*结果 
     userType             userId 
 ----------------------------------------- 
   WA319|WB29|WC1         yuansf               
 */
------解决方案--------------------写一个聚合函数。   
 在SQL Server 2000中,常用的处理方式有两种:   
 1、写自定义聚合好函数,如上。 
 2、用游标处理。   
 用函数处理是最简单的实现方式。
------解决方案--------------------2000 or 2005?
------解决方案--------------------create table tb 
 ( 
 userType varchar(5), 
 userId varchar(6) 
 ) 
 insert into tb  
 select  'WA319 ', 'yuansf ' union  
 select  'WB29 ', 'yuansf ' union    
 select  'WC1 ', 'yuansf '   	                  
 go   
 create function dbo.fun(@userid varchar(10)) 
 returns varchar(50) 
 as  
 begin 
 declare @s varchar(50) 
 set @s= ' ' 
 select @s=@s+ '| '+userType from tb where userid=@userid 
 set @s=stuff(@s,1,1, ' ') 
 return @s 
 end 
 select distinct userId,dbo.fun(userId) userType from tb 
 userId userType 
 ------ -------------------------------------------------- 
 yuansf WA319|WB29|WC1   
 (1 行受影响) 
------解决方案--------------------create table B(userType varchar(10),userId varchar(10)) 
 insert B 
 select  'WA319 ',  'yuansf ' union all 
 select  'WB29 ',  'yuansf ' union all 
 select  'WC1 ',  'yuansf ' 
 GO 
 Create Function F_GetRole(@ID char(10)) 
 Returns Nvarchar(2000) 
 As 
 Begin 
 Declare @S Nvarchar(2000) 
 Select @S =  ' '