建立存储过程对一个表进行表内连接查询..表如下:
  时间  员工编号   做的事
 2006-2-2  01      A
 2006-2-2  01      B
 2002-2-3  02      A
 2002-2-4  01      C
改为如下:
时间  员工编号   做的事
 2006-2-2  01      A,B
 2002-2-3  02      A
 2002-2-4  01      C

解决方案 »

  1.   

    CREATE FUNCTION JoinGroup
    (
    @d DATETIME,
    @c VARCHAR(10)
    )
    RETURNS VARCHAR(1000)
    AS
    BEGIN
    DECLARE @s VARCHAR(1000)
    SELECT @s=ISNULL(@s,'') + ',' + 做的事 FROM 表 WHREE DATEDIFF(dd,时间,@d)=0 AND 员工编号=@c
    SELECT @s=STUFF(@s,1,1,'')
    RETURN @s
    ENDSELECT 时间,员工编号,dbo.JoinGroup(时间,员工编号) 做的事 FROM 表 GROUP BY 时间,员工编号可能有手误