SQL Distinct逗号分隔列表

lev*_*bra 8 sql t-sql

我正在尝试使用以下查询在表中创建逗号分隔的名称列表

DECLARE @listStr VARCHAR(MAX)
SELECT @listStr = COALESCE(@listStr+',' ,'') + Name
FROM Production.Product
SELECT @listStr
Run Code Online (Sandbox Code Playgroud)

这工作正常,但列表确实包含重复项

任何人都可以建议我如何使这个DISTINCT列表不包含重复.

Vin*_*ati 11

它有用吗?

DECLARE @listStr VARCHAR(MAX) 
SELECT @listStr = COALESCE(@listStr+',' ,'') + name 
FROM (SELECT DISTINCT name FROM Production.Product) t
SELECT @listStr
Run Code Online (Sandbox Code Playgroud)