代码之家  ›  专栏  ›  技术社区  ›  Jordan Parmer

是否可以不使用存储过程将多个记录的值“合并”到单个字段中?

  •  1
  • Jordan Parmer  · 技术社区  · 16 年前

    一个同事向我提出了这个问题,我告诉他们,“不,你需要为此写一个sproc”。但我想我应该给他们一个机会把这个公布给社区。

    实际上,它们有一个表,表中的键映射到多个值。对于报表,它们希望在键上进行聚合,并将所有值“混合”到单个字段中。下面是一个视频:

    ---  -------
    Key  Value
    ---  -------
    1    A
    1    B
    1    C
    2    X
    2    Y
    

    结果如下:

    ---  -------
    Key  Value
    ---  -------
    1    A,B,C
    2    X,Y
    

    他们在SQLServer2005中需要这个,同样,我认为他们需要编写一个存储过程,但是如果有人知道一个神奇的开箱即用的函数可以做到这一点,我会印象深刻。

    1 回复  |  直到 16 年前
        1
  •  0
  •   konung    16 年前

    我不确定sql server是否支持组\u concat-但这是您在MySQL中使用的:

    SELECT key, GROUP_CONCAT(value) FROM table_name GROUP BY key
    

    推荐文章