У меня есть хранимые процедуры, которые принимают список, разделенный запятыми, а затем делают копии этого списка с цитированными строками и скобками, а затем используют те, которые содержатся в динамической инструкции sql, для создания сводной таблицы с гибким числом колонны.SQL создает отдельные разделенные запятой списки
Моя проблема в том, что иногда мои пользователи представляют список с дубликатами, и это приводит к сбою сводного запроса. Поэтому я хочу как-то выбрать отличный от моих разделенных запятыми строк.
Вот как я манипулируют начальную строку:
Declare @data varchar(max) = '150593, 150593, 150603, 150578, 150604'
Declare @bracketed varchar(max) = ''
Declare @quoted varchar(max) = ''
select @bracketed = @bracketed + quotename(rtrim(ltrim(Value))) + ', ',
@quoted = @quoted + quotename(rtrim(ltrim(Value)), '''') + ', '
from [dbo].[fnSplitStringAsTable](@data, ',')
Select @bracketed = LEFT(@bracketed, len(@bracketed) - 1),
@quoted = LEFT(@quoted, len(@quoted) - 1)
Я думаю, что я должен быть в состоянии добавить DISTINCT где-то в этом запросе,
, но я не могу заставить его работать. Как выбрать отдельный список, разделенный запятыми?
http://stackoverflow.com/questions/10298805/mimic-group-concat-combined-with-group-by –
@AaronBertrand - как вы помните ответы от 3 лет назад ... Я не помню, что я сказал на прошлой неделе. – Hogan
@AaronBertrand - Пока я согласен, что ваша память впечатляет, можете ли вы сказать мне, какая часть этого сообщения является relavent? Я не вижу этого ... – MAW74656