sql >> データベース >  >> RDS >> Sqlserver

SSRS-式を使用したGroup_Concatと同等ですか?

    次のようなものを試してください(SQL Server 2005以降で動作します):

    set nocount on;
    declare @t table (id int, name varchar(20), x char(1))
    insert into @t (id, name, x)
    select 1,'test1', 'a' union
    select 1,'test1', 'b' union
    select 1,'test1', 'c' union
    select 2,'test2', 'a' union
    select 2,'test2', 'c' union
    select 3,'test3', 'b' union
    select 3,'test3', 'c' 
    SET NOCOUNT OFF
    
    SELECT p1.id, p1.name,
              stuff(
                       (SELECT
                            ', ' + x
                            FROM @t p2
                            WHERE p2.id=p1.id
                            ORDER BY name, x
                            FOR XML PATH('') 
                       )
                       ,1,2, ''
                   ) AS p3
          FROM @t p1
         GROUP BY 
            id, name
    

    出力:

    id          name                 p3
    ----------- -------------------- ---------
    1           test1                a, b, c
    2           test2                a, c
    3           test3                b, c
    
    (3 row(s) affected)
    



    1. OpenCart:oc_category_pathに正確に入力する方法

    2. NetBeans 9.0、パート2のJava9でJShellを使用する

    3. SQL Server(T-SQL)でサポートされているタイムゾーンのリストを取得する

    4. MayBeSQLがMicrosoftAccessに登場!