【发布时间】:2021-12-26 21:46:06
【问题描述】:
我正在尝试对 STRING_AGG 函数的 offerDetails 列进行 DISTINCT
OUTER APPLY
(
SELECT
STRING_AGG(CAST(co.OfferId AS NVARCHAR(MAX)), ';') AS OfferDetails,
STRING_AGG(CAST(ct.ConferenceId AS NVARCHAR(MAX)), ';') AS CustomTransferDetails
FROM ConferenceTransfer ct
INNER JOIN ConferenceOffer co ON ct.ConferenceId = co.ConferenceId
WHERE
ct.ConferenceTransferTypeId = 1 AND
ct.DateStarted IS NOT NULL AND
ct.CallerUserId = @agentId AND
ct.DateInitiated BETWEEN @dateFrom AND @dateTo
) CallTransfered
【问题讨论】:
-
修复架构!如果您在单个列中分隔数据,您应该将您的架构视为BROKEN。这是一个有缺陷的设计,需要额外的桌子。纠正他损坏的设计,突然间这个查询(可能还有其他查询)会更加简单。
标签: sql sql-server distinct