Get unique values using STRING_AGG in SQL Server

后端 未结 4 1302
情话喂你
情话喂你 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:14

    Use the DISTINCT keyword in a subquery to remove duplicates before combining the results: SQL Fiddle

    SELECT 
    ProjectID
    ,STRING_AGG(value, ',') WITHIN GROUP (ORDER BY value) AS 
    NewField
    from (
        select distinct ProjectId, newId.value 
        FROM [dbo].[Data] WITH(NOLOCK)  
        CROSS APPLY STRING_SPLIT([bID],';') AS newID  
        WHERE newID.value IN (   'O95833' , 'Q96NY7-2'  )  
    ) x
    GROUP BY ProjectID
    ORDER BY ProjectID
    

提交回复
热议问题