有一个表test,有ID,Num,Name,ItemName,ItemValue,ItemDesc这些字段
表中有如下数据:
ID      Num    Name   ItemName ItemValue ItemDesc   ItemDate
1 001 a1 b1   c1     d1     2008-12-23
2 002 a2 b2   c2     d2     2008-12-25
2 003 a3 b2   c2     d3     2008-12-26
2 004 a4 b2   c2     d4     2008-12-29
5 005 a5 b5   c5     d5     2008-12-27 现在,我想SELECT的时候,把其中ID,ItemName,ItemValue值相同的整合为一条数据,最后显示的结果如下所示:1 001         a1         b1   c1     d1           2008-12-23
2 002/003/004 a2/a3/a4 b2   c2     d2/d3/d4     2008-12-25/2008-12-26/2008-12-29
5 005         a5         b5   c5     d5           2008-12-27

解决方案 »

  1.   

    在sql社区里看见过这种要求的sql语句,建议lz过去看看.有很多类似的问题.
      

  2.   

    楼主 这个该发在sql区!不该发在这啊
      

  3.   

    搞.net的人,应该都熟悉sql吧?在这里发,和在sql专区发没有很大差别吧?
      

  4.   

    select id,itemname,itemvalue,dbo.getnumlist(id),dbo.getnamelist(id) from tb group by id,itemname,itemvalue不用函数好难写,不知那位高手可以写出来
      

  5.   

    我就写一个函数,你依照要写好几个函数:CREATE     FUNCTION   Test_Func(@ID1 int)   
    RETURNS   VARCHAR(100) 
    AS   
    BEGIN   
    DECLARE   @RE   VARCHAR(100)
    SET   @RE = ''   
    SELECT   @RE = @RE+Num+'/' FROM Test WHERE ID = @ID1
    RETURN   RTRIM(@RE)   
    END  GOselect distinct ID,dbo.Test_Func(ID)  from Test
      

  6.   

    附上function 
    CREATE FUNCTION getnumlist
    (@id int)  
    RETURNS  varchar(2000) 
    AS  
    BEGIN 
    declare @b1 varchar(2000)
    set @b1 = ''
    select @b1=@b1+num+'/' from tb where id=@id
    set @b1=left(@b1,len(@b1)-1)
    return @b1END
      

  7.   

    这么多人帮我解决问题,非常感谢huwei2003 和koukoujiayi 提出的意见
    我会好好研究一下.
      

  8.   

    如果1,2的id相同,2,3的date相同呢?到底是1,2在一起还是2,3在一起?
      

  9.   

    用group bySELECT ID,ItemName,ItemValue from test group by  ID,ItemName,ItemValue