1.表结构
| id | type | productCode | 
| 1 | 铅笔 | 0001 | 
| 2 | 铅笔 | 0002 | 
| 3 | 铅笔 | 0003 | 
| 4 | 钢笔 | 0004 | 
| 5 | 钢笔 | 0005 | 
| 6 | 钢笔 | 0004 | 
| 7 | 圆珠笔 | 0007 | 
| 8 | 圆珠笔 | 0008 | 
| 9 | 圆珠笔 | 0007 | 
2.自定义函数fun
GO
/****** Object:  UserDefinedFunction [dbo].[fun]    Script Date: 11/22/2011 16:09:45 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
Create function [dbo].[fun](@type nvarchar(10))
returns nvarchar(200)
as
begin
    declare @re nvarchar(200)
    declare @code nvarchar(200)
    set @re=''
    set @code=''
    select @re=@re+productCode+',' from T where type=@type group by productCode
    select @re=left(@re, len(@re)-1)
    return @re
end
3.查询语句
select type,dbo.fun(type) from (select distinct type from T) A
结果:
钢笔   0004,0005
铅笔   0001,0002,0003
圆珠笔   0007,0008
 
                     
                    
                 
                    
                 
 
         
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号