2013-07-24 57 views
6

tôi đang cố gắng để tạo ra một dấu phẩy danh sách tên delimted trong một bảng bằng cách sử dụng truy vấn dưới đâySQL dấu phẩy biệt danh

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

này hoạt động tốt được phân định, tuy nhiên danh sách này có chứa bản sao

bất cứ ai có thể tư vấn làm thế nào tôi sẽ thực hiện điều này DISTINCT để danh sách không chứa bản sao.

+0

http://blog.sqlauthority.com/2009/01/15/sql-server-remove-duplicate-entry-from-comma-delimited-string-udf/ Bài viết đó sẽ chứng minh rất hữu ích cho bạn . –

Trả lời

9

Có hữu ích không?

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

vâng, cảm ơn bạn – simon1230756

+0

Chào mừng, Đánh dấu là câu trả lời được chấp nhận –

Các vấn đề liên quan