SQL 中的 STUFF(... FOR XML) 函数有没有办法防止重复值?

问题描述

为了保持简短,这是我的 sql 代码

SELECT 
    EmailAddress,FormsSubmitted = STUFF(
      (
        SELECT ',' + SourceSubType
        FROM UK_AGT_AgentForms_TEST_DE a 
        WHERE a.EmailAddress = b.EmailAddress
        FOR XML PATH('')
      ),1,''),DEDate
FROM UK_AGT_AgentForms_TEST_DE b
GROUP BY b.EmailAddress,b.DEDate

而且,这是它产生的结果集:

enter image description here

有没有办法防止重复值出现在上述查询中的 FormsSubmitted 列中?还是我需要做一些“后期处理”来删除重复项?

解决方法

向内部 SELECT 查询添加 DISTINCT