代码之家  ›  专栏  ›  技术社区  ›  monkey_boys

sql server 2005中的分组查询帮助?

  •  1
  • monkey_boys  · 技术社区  · 16 年前

    TEST

    test    | 1
    test    | 2
    test    | 3
    

    test    | 1 - 2 - 3
    
    2 回复  |  直到 16 年前
        1
  •  1
  •   Lupin    16 年前

    您可以使用Coalesce函数对列表中的数字进行排序。希望这能给你一个开始:

    Declare @T as Table (Col1 varchar(35), Col2 int)
    
    Insert into @T(Col1, Col2)
    Select 'Test', 1
    
    Insert into @T(Col1, Col2)
    Select 'Test', 2
    
    Insert into @T(Col1, Col2)
    Select 'Test', 3
    
    
    DECLARE @X varchar(200)
    
    SELECT @X = COALESCE(@X + ' - ', '') + Cast(Col2 as varchar(5))
    From @T
    
    Select @X
    
        2
  •  1
  •   OMG Ponies    16 年前

    尝试:

    SELECT x.column1,
           STUFF(SELECT ' - ' + t.column2
                   FROM TEST t
                  WHERE t.column1 = x.column1
               ORDER BY t.column1
                FOR XML PATH(''), 1, 1, '')
      FROM TEST x
    

    参考: STUFF