Header ads

Header ads
» » » Ghép Nối Nhiều Bản Ghi Vào Một Dòng trong SQL SERVER

Ví dụ bạn 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
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, bạn có thể dùng câu lệnh đơn giản hơn sau:
DECLARE @NAMES NVARCHAR(4000) 
SELECT @NAMES = COALESCE(@NAMES + ', ', '') + CustomerName 
FROM dbo.Customer
SELECT @NAMES

About Học viện đào tạo trực tuyến

Xinh chào bạn. Tôi là Đinh Anh Tuấn - Thạc sĩ CNTT. Email: dinhanhtuan68@gmail.com .
- Nhận đào tạo trực tuyến lập trình dành cho nhà quản lý, kế toán bằng Foxpro, Access 2010, Excel, Macro Excel, Macro Word, chứng chỉ MOS cao cấp, IC3, tiếng anh, phần mềm, phần cứng .
- Nhận thiết kế phần mềm quản lý, Web, Web ứng dụng, quản lý, bán hàng,... Nhận Thiết kế bài giảng điện tử, số hóa tài liệu...
HỌC VIỆN ĐÀO TẠO TRỰC TUYẾN:TẬN TÂM-CHẤT LƯỢNG.
«
Next
Bài đăng Mới hơn
»
Previous
Bài đăng Cũ hơn