Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

एसएसआरएस - Group_Concat एक अभिव्यक्ति का उपयोग कर समतुल्य?

कुछ इस तरह का प्रयास करें (SQL सर्वर 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. जाँच करें कि SQL सर्वर (T-SQL) में डेटाबेस मेल में कितने मेल आइटम कतार में हैं

  2. आंतरायिक ODBC कनेक्शन विफलता

  3. SQL सर्वर में सांख्यिकी IO क्या है?

  4. एक फ़ील्ड से दूसरे फ़ील्ड से समय के साथ दिनांक को कैसे संयोजित करें - MS SQL सर्वर

  5. अल्पविराम से अलग किए गए मानों के आधार पर तालिका में शामिल होना