0

I’m having a table named TBL which has an id, code, date

When i’m using this query :

SELECT * FROM TBL 
WHERE TBL.id=“1527”

I’m getting this back

id code date
1527 26181 16/03/21
1527 15182 05/09/20

How can I turn it to this?(by query)

id code
1527 26181,15182

Glad for any help

TBA
  • 1,921
  • 4
  • 13
  • 26
shalev sror
  • 41
  • 1
  • 7

1 Answers1

1

You can use STRING_AGG

SELECT Id,STRING_AGG(code,',')  WITHIN GROUP ( ORDER BY Id ASC)  AS
Code FROM tbl
GROUP BY Id

Also, you can try this:

SELECT  id
       ,STUFF((SELECT ', ' + CAST(code AS VARCHAR(10)) [text()]
         FROM tbl 
         WHERE id= t.id
         FOR XML PATH(''), TYPE)
        .value('.','NVARCHAR(MAX)'),1,2,' ') List_Output
FROM tbl t
GROUP BY id
TBA
  • 1,921
  • 4
  • 13
  • 26