表如下
c1      c2
1 A
2 B
3 C
4 D
5 E
6 F
7 G
8 H
结果,第一种:A,B,C,D,E,F,G,H  第二种:A,B,C,D  第三种:E,F,G,H

解决方案 »

  1.   

    1
    DECLARE @STR VARCHAR(8000)
    SELECT @STR=ISNULL(@STR+',','')+C2 FROM TB
    SELECT @STR
    后面都类似!
      

  2.   

    是这样的,一张表有两个字段c1,c2我想把c2值拼成A,B,C,D,E,F,H,G,H也就是说你逗号加起来,拿到这个值放到别一张表。表如下
    C1   C2
    1    A
    1    B
    1    C
    2    D
    2    E
    2    F
    2    G
    2    H结果:一 A,B,C,D,E,F,G,H 二 A,B,C 三 D,E,F,G,H
      

  3.   

    DECLARE @T TABLE(C1 INT,  C2 VARCHAR(10)) 
    INSERT @T  SELECT 1  ,  'A' 
    INSERT @T  SELECT 1  ,  'B' 
    INSERT @T  SELECT 1  ,  'C' 
    INSERT @T  SELECT 2  ,  'D'
    INSERT @T  SELECT 2  ,  'E'
    INSERT @T  SELECT 2  ,  'F'
    INSERT @T  SELECT 2 ,   'G' 
    INSERT @T  SELECT 2,    'H' 
    DECLARE @S VARCHAR(50)
    SELECT @S=ISNULL(@S+',','')+C2 FROM @T
    SELECT @S
    SET @S=NULL
    SELECT @S=ISNULL(@S+',','')+C2 FROM @T WHERE C1=1
    SELECT @S
    SET @S=NULL
    SELECT @S=ISNULL(@S+',','')+C2 FROM @T WHERE C1=2
    SELECT @S
    /*                                                   
    -------------------------------------------------- 
    A,B,C,D,E,F,G,H                                                   
    -------------------------------------------------- 
    A,B,C                                                   
    -------------------------------------------------- 
    D,E,F,G,H*/