Ví dụ chúng ta có bảng:
ProductID CustomerName
---------- -------------
1 Tuấn
1 Minh
1 Linh
2 Ngọc
2 Hiền
Bạn muốn kết quả ra như sau:
ProductID CustomerName
---------- -------------
1 Tuấn, Minh, Linh
2 Ngọc, Hiền
Bạn có thể dùng câu lệnh này:
SELECT DISTINCT C2.ProductID,
SUBSTRING(
(
SELECT ','+C1.CustomerName AS [TEXT()]
FROM dbo.Customer C1
WHERE C1.ProductID = C2.ProductID
ORDER BY C1.ProductID
FOR XML PATH ('')
), 2, 1000) CustomerList
FROM dbo.Customer C2
Hoặc cũng có thể dùng lệnh sau trong trường hợp bạn không cần group by ProductID mà chỉ cần một danh sách khách hàng nối với nhau:
DECLARE @NAMES NVARCHAR(4000)
SELECT @NAMES = COALESCE(@NAMES + ', ', '') + CustomerName
FROM dbo.Customer
SELECT @NAMES
Không có nhận xét nào :
Đăng nhận xét
Hoan nghênh bạn để lại bình luận, nhưng đừng spam nhé :p Xem điều khoản