Get unique values using STRING_AGG in SQL Server

后端 未结 4 1301
情话喂你
情话喂你 2020-12-20 11:55

The following query returns the results shown below:

SELECT 
    ProjectID, newID.value
FROM 
    [dbo].[Data] WITH(NOLOCK)  
CROSS APPLY 
    STRING_SPLIT([         


        
4条回答
  •  心在旅途
    2020-12-20 12:17

    You can use distinct in the subquery used for the apply:

    SELECT d.ProjectID,
           STRING_AGG(  newID.value, ',') WITHIN GROUP (ORDER BY newID.value) AS 
    NewField
    FROM [dbo].[Data] d CROSS APPLY
         (select distinct value
          from STRING_SPLIT(d.[bID], ';') AS newID 
         ) newID
    WHERE newID.value IN (   'O95833' , 'Q96NY7-2'  ) 
    group by projectid;
    

提交回复
热议问题