Я создал функцию с табличным значением для возврата списка, разделенного запятыми, но у меня возникают проблемы в списке, содержащем только различные значения.Моя функция выглядит следующим образом:
CREATE FUNCTION [dbo].[clientContactsConcat] ( @clnum INT )
RETURNS NVARCHAR(4000)
AS BEGIN
DECLARE @concat NVARCHAR(4000)
SELECT @concat =COALESCE(@concat, ' ') + clcontact + ', '
FROM dbo.client
WHERE crelated = @clnum
AND NOT clcontact IS NULL
SELECT @concat = SUBSTRING(@concat, 2, LEN(@concat) - 2)
RETURN ( @concat )
END
Это в настоящее время будет перечислять все значения, когда я добавлю изменение SELECT в SELECT DISTINCT @concat =COALESCE(@concat, ' ') + clcontact + ', '...
, тогда он вернет только первый результат, возвращенный выбором.
Есть ли способ вернуть только отдельные записи при присваивании переменной в сочетании с COALESCE?
Для следующих записей:
clcontact
---------------------
Mr S Smith
Mrs R Jones
Ms L Morrison
Mrs R Jones
Я хочу, чтобы было возвращено следующее: Mr S Smith, Mrs R Jones, Ms L Morrison
.