Этот запрос возвращает повторяющиеся значения для Zip, чего я не думаю. Например: @pivotColumns возвращает следующий список, даже если подзапрос для zip имеет «отдельный Zip». Я предполагаю, что QUOTENAME может плохо работать для целей возврата списка уникальных значений? Мне нужен ZipCode без дубликатов
DECLARE @PivotColumns AS NVARCHAR(MAX)
SELECT @PivotColumns = COALESCE (@PivotColumns + ',','') + QUOTENAME([Zip])
FROM [dbo].[PivotStoreZip]
Where Zip in (
Select distinct Zip
From PivotStoreZip
Where ZIP in ('39401','39402', '39406','39465','39475')
)
print (@PivotColumns)
print (@PivotColumns) возвращает список, приведенный ниже, и, например, [39401] повторяет:
[39401],[39406],[39465],[39475],[39401],[39402],[39406],[39465],[39475]
Какие СУБД вы используете? (Этот код зависит от продукта.)


distinct в in бесполезен. in не создает дубликатов, и это не влияет на внешний запрос.
Думаю, ты хочешь сделать:
select @PivotColumns = COALESCE (@PivotColumns + ',','') + QUOTENAME([Zip])
from (select distinct Zip
from PivotStoreZip
where ZIP in ('39401', '39402', '39406', '39465', '39475')
) z;
Замечу, что это работает на практике. Я не уверен на 100%, что Microsoft гарантирует, что этот код в целом работает.
Вы можете попробовать использовать distinct в подзапросе для удаления дубликатов Zip вместо условия where.
SELECT @PivotColumns = COALESCE (@PivotColumns + ',','') + QUOTENAME([Zip])
FROM (
Select distinct Zip
From PivotStoreZip
Where ZIP in ('39401','39402', '39406','39465','39475')
) t1
Отдельного в подзапросе недостаточно, так как если у вас есть дубликаты в [dbo].[PivotStoreZip], они будут появляться из вашего основного запроса, поэтому просто добавьте туда и отдельный:
DECLARE @PivotColumns AS NVARCHAR(MAX)
SELECT @PivotColumns = distinct COALESCE (@PivotColumns + ',','') + QUOTENAME([Zip])
FROM [dbo].[PivotStoreZip]
Where Zip in (
Select distinct Zip
From PivotStoreZip
Where ZIP in ('39401','39402', '39406','39465','39475')
)
печать (@PivotColumns)
coalesceхочет вернуть разные значения, и я подозреваю, что переменная@PivotColumnsуже имеет аналогичные значения.