sql >> Databáze >  >> RDS >> Sqlserver

SSRS - Group_Concat ekvivalentní pomocí výrazu?

zkuste něco takového (funguje na SQL Server 2005 a novějších):

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

VÝSTUP:

id          name                 p3
----------- -------------------- ---------
1           test1                a, b, c
2           test2                a, c
3           test3                b, c

(3 row(s) affected)



  1. Vnitřní spojení Mysql s podmínkou NEBO?

  2. Historie příkazů v isql

  3. Jak uložit html do databáze mysql

  4. Jak vrátit řádky, které mají stejné hodnoty sloupců v MySql