Wednesday, April 14, 2010

SQL Server DB : Column concatination using XML ( without UPDATE)

Source Code :

DECLARE @Sample TABLE (FirstName SYSNAME, LastName SYSNAME, MemberNumber INT, AccountDesc SYSNAME, AccountBalance MONEY)
INSERT @Sample
SELECT 'Samiuddin', 'Mohammed', 1000, 'Acct2', 25.25 UNION ALL
SELECT 'Samiuddin', 'Mohammed', 1000, 'Acct3', 36.98 UNION ALL
SELECT 'Faruq', 'Shaik', 1001, 'Acct4', 84.27 UNION ALL
SELECT 'Faruq', 'Shaik', 1001, 'Acct2', 25.25 UNION ALL
SELECT 'Faruq', 'Shaik', 1001, 'Acct3', 36.98 UNION ALL
SELECT 'Faruq', 'Shaik', 1001, 'Acct4', 84.27

SELECT * FROM @Sample
-- Show the expected output
SELECT DISTINCT s1.FirstName,
s1.LastName,
s1.MemberNumber,
(SELECT TOP 100 PERCENT ';' + s2.AccountDesc + ' ' + CONVERT(VARCHAR, s2.AccountBalance, 0) FROM @Sample AS s2 WHERE s2.MemberNumber = s1.MemberNumber ORDER BY s2.AccountDesc FOR XML PATH('')) AS Accounts
FROM @Sample AS s1
ORDER BY s1.MemberNumber

No comments:

Post a Comment