SQL 中的 STUFF(... FOR XML) 函数是否有办法防止重复值?
Is there a way in the STUFF(... FOR XML) function in SQL to prevent duplicate values?
为了保持简短,这是我的 SQL 代码:
SELECT
EmailAddress,
FormsSubmitted = STUFF(
(
SELECT ',' + SourceSubType
FROM UK_AGT_AgentForms_TEST_DE a
WHERE a.EmailAddress = b.EmailAddress
FOR XML PATH('')
), 1, 1, ''),
DEDate
FROM UK_AGT_AgentForms_TEST_DE b
GROUP BY b.EmailAddress, b.DEDate
而且,这是它生成的结果集:
有没有办法防止重复值出现在上述查询的 FormsSubmitted
列中?或者我需要做一些“post 处理”来删除重复项吗?
向内部 SELECT 查询添加 DISTINCT
。
为了保持简短,这是我的 SQL 代码:
SELECT
EmailAddress,
FormsSubmitted = STUFF(
(
SELECT ',' + SourceSubType
FROM UK_AGT_AgentForms_TEST_DE a
WHERE a.EmailAddress = b.EmailAddress
FOR XML PATH('')
), 1, 1, ''),
DEDate
FROM UK_AGT_AgentForms_TEST_DE b
GROUP BY b.EmailAddress, b.DEDate
而且,这是它生成的结果集:
有没有办法防止重复值出现在上述查询的 FormsSubmitted
列中?或者我需要做一些“post 处理”来删除重复项吗?
向内部 SELECT 查询添加 DISTINCT
。