How to combine multiple rows's column into one column

Reply

Join Date: Nov 2007
Posts: 26
Reputation: nokomoli is an unknown quantity at this point 
Solved Threads: 0
nokomoli nokomoli is offline Offline
Light Poster

How to combine multiple rows's column into one column

 
0
  #1
Jul 2nd, 2009
Hello, i have face problem when i need to retrieve data from database (SQL 2000). Below my table :

Column A | Column B
1 a
1 b
2 c
2 d

i need the result is :

Column A | Column B
1 a b
2 c d

Can anyone tell me how to write the sql command?
Reply With Quote Quick reply to this message  
Join Date: Feb 2009
Posts: 3,134
Reputation: sknake has much to be proud of sknake has much to be proud of sknake has much to be proud of sknake has much to be proud of sknake has much to be proud of sknake has much to be proud of sknake has much to be proud of sknake has much to be proud of sknake has much to be proud of sknake has much to be proud of 
Solved Threads: 551
Sponsor
sknake's Avatar
sknake sknake is offline Offline
.NET Enthusiast

Re: How to combine multiple rows's column into one column

 
0
  #2
Jul 2nd, 2009
  1. /*
  2. Column A | Column B
  3. 1 a
  4. 1 b
  5. 2 c
  6. 2 d
  7. */
  8.  
  9. IF OBJECT_ID('Table1', 'U') IS NOT NULL DROP TABLE Table1
  10. CREATE TABLE Table1
  11. (
  12. ColumnA INT,
  13. ColumnB VARCHAR(1)
  14. )
  15.  
  16. GO
  17.  
  18. INSERT INTO Table1 (ColumnA, ColumnB) VALUES (1, 'a')
  19. INSERT INTO Table1 (ColumnA, ColumnB) VALUES (1, 'b')
  20. INSERT INTO Table1 (ColumnA, ColumnB) VALUES (2, 'c')
  21. INSERT INTO Table1 (ColumnA, ColumnB) VALUES (2, 'd')
  22.  
  23. GO
  24.  
  25. GO
  26.  
  27. IF OBJECT_ID('dbo.JoinString', 'FN') IS NOT NULL DROP FUNCTION dbo.JoinString
  28.  
  29. GO
  30.  
  31. CREATE FUNCTION dbo.JoinString (@ColumnA INT)
  32. RETURNS VARCHAR(100)
  33. AS
  34. BEGIN
  35.  
  36. DECLARE @result VARCHAR(100)
  37. SET @result = ''
  38. SELECT @result = @result + ' ' + IsNull(ColumnB, '')
  39. FROM Table1
  40. WHERE ColumnA = @ColumnA
  41. ORDER BY ColumnB
  42.  
  43. return LTRIM(@result)
  44. END
  45.  
  46. GO
  47.  
  48. DECLARE @Tab Table
  49. (
  50. ColumnA INT,
  51. ColumnB VARCHAR(100)
  52. )
  53.  
  54. INSERT INTO @Tab (ColumnA) SELECT DISTINCT(ColumnA) FROM Table1 (NOLOCK)
  55. UPDATE @Tab SET ColumnB = dbo.JoinString(ColumnA)
  56.  
  57.  
  58. SELECT *
  59. FROM @Tab
Scott Knake
Custom Software Development
Apex Software, Inc.
Reply With Quote Quick reply to this message  
Reply

This thread is more than three months old.
Perhaps start a new thread instead?
Message:


Thread Tools Search this Thread



About Us | Contact Us | Advertise | DaniWeb | Acceptable Use Policy | RSS Feed

©2003 - 2009 DaniWeb® LLC