【发布时间】:2016-11-29 15:01:04
【问题描述】:
我有一个简单的包含两个值的单列表。我选择它并使用 distinct 修饰符连接值,但它只是获得最新值。我对 DISTINCT 有误解吗?
DECLARE @table TABLE(Id int)
DECLARE @result VARCHAR(MAX) = ''
INSERT @table VALUES(1), (2)
SELECT
@result = @result + CAST( Id AS VARCHAR(10)) + ','
FROM
@table
SELECT @result --— output: 1,2,
-------same With distinct
SET @result = ''
SELECT DISTINCT @result = @result
+ CAST( Id AS VARCHAR(10)) + ','
FROM @table
SELECT @result --— expected output: 1,2, actual output: 2, why?
【问题讨论】:
标签: sql sql-server tsql concatenation distinct