Take the following table:
| ID | Products |
|---|---|
| 12 | xx,yy,xx |
| 13 | yy,xx,yy |
| 14 | tt,xx,tt |
| 15 | yy,yy,yy |
I need a T-SQL to give me distinct Values in the Products Column
Required Result as below:
| ID | Products |
|---|---|
| 12 | xx,yy |
| 13 | yy,xx |
| 14 | tt,xx |
| 15 | yy |
CodePudding user response:
use STRING_SPLIT,distinct and string_agg as follows
SELECT ID,
String_agg(value, ',') AS Products
FROM (SELECT DISTINCT ID,
value
FROM (SELECT ID,
a.value
FROM table
CROSS apply String_split(products, ',') a) b) c
GROUP BY ID
