2013-07-24 15 views
6

Próbuję utworzyć przecinek delimted listę nazwisk w tabeli za pomocą poniższego zapytaniaSQL Wyraźny rozdzielany przecinkami lista

DECLARE @listStr VARCHAR(MAX) 
SELECT @listStr = COALESCE(@listStr+',' ,'') + Name 
FROM Production.Product 
SELECT @listStr 

to działa prawidłowo, jednak lista nie zawiera duplikaty

Może ktoś doradzić jak zrobiłbym to DISTINCT, więc lista nie zawiera duplikatów.

+0

http://blog.sqlauthority.com/2009/01/15/sql-server-remove-duplicate-entry-from-comma-delimited-string-udf/ Ten artykuł powinien okazać się niezwykle przydatna dla Ciebie . –

Odpowiedz

9

Czy to przydatne?

DECLARE @listStr VARCHAR(MAX) 
SELECT @listStr = COALESCE(@listStr+',' ,'') + name 
FROM (SELECT DISTINCT name FROM Production.Product) t 
SELECT @listStr 
+0

tak to wszystko, dziękuję – simon1230756

+0

Witamy, Oznacz jako zaakceptowaną odpowiedź –

Powiązane problemy