Please start any new threads on our new
site at https://forums.sqlteam.com. We've got lots of great SQL Server
experts to answer whatever question you can come up with.
| Author |
Topic |
|
mateenmohd
Constraint Violating Yak Guru
297 Posts |
Posted - 2008-06-13 : 09:02:41
|
| I want to generate query which field like this.Number and textSum_ID Text------------------111001 SC12-007111001 SC12-008111002 SC12-010111003 SC14-006111003 SC14-005111004 SC02-009111004 SC02-010111004 SC02-007111004 SC02-008111004 SC02-005111004 SC02-006111005 SC12-019111005 SC12-020111005 SC12-018111005 SC12-017111006 SC12-012111006 SC12-011Query result/output should be like thisSum_ID Text--------------------------111001 SC12-007, SC12-008111002 SC12-010111003 SC14-006, SC14-005111004 SC02-009, SC02-010, SC02-007, SC02-008, SC02-005, SC02-006111005 SC12-020, CS12-018, SC12-019, SC12-017......I use group by on sum_id which output like thissum_id test--------------------111001 SC12-008..........SC12-007111002 SC12-010111003 SC14-006..........SC14-005111004 SC02-009..........SC02-010..........SC02-007..........SC02-008..........S012-005..........SC02-006......How can write query the it output should be retrieve as above ?i.e. it retrieve recods with add comma , in one line ?Thanks for helpMateen |
|
|
SwePeso
Patron Saint of Lost Yaks
30421 Posts |
|
|
SwePeso
Patron Saint of Lost Yaks
30421 Posts |
Posted - 2008-06-13 : 09:11:08
|
[code]DECLARE @Sample TABLE (SumID INT, Data CHAR(8))INSERT @SampleSELECT 111001, 'SC12-007' UNION ALLSELECT 111001, 'SC12-008' UNION ALLSELECT 111002, 'SC12-010' UNION ALLSELECT 111003, 'SC14-006' UNION ALLSELECT 111003, 'SC14-005' UNION ALLSELECT 111004, 'SC02-009' UNION ALLSELECT 111004, 'SC02-010' UNION ALLSELECT 111004, 'SC02-007' UNION ALLSELECT 111004, 'SC02-008' UNION ALLSELECT 111004, 'SC02-005' UNION ALLSELECT 111004, 'SC02-006' UNION ALLSELECT 111005, 'SC12-019' UNION ALLSELECT 111005, 'SC12-020' UNION ALLSELECT 111005, 'SC12-018' UNION ALLSELECT 111005, 'SC12-017' UNION ALLSELECT 111006, 'SC12-012' UNION ALLSELECT 111006, 'SC12-011'SELECT s1.SumID, STUFF(g.Data, 1, 1, '') AS DataFROM ( SELECT SumID FROM @Sample GROUP BY SumID ) AS s1CROSS APPLY ( SELECT TOP 100 PERCENT ',' + s2.Data FROM @Sample AS s2 WHERE s2.SumID = s1.SumID ORDER BY s2.Data FOR XML PATH('') ) AS g(Data)ORDER BY s1.SumIDSELECT CASE p.RecID WHEN 1 THEN p.SumID END AS SumID, p.DataFROM ( SELECT SumID, Data, ROW_NUMBER() OVER (PARTITION BY SumID ORDER BY Data) AS RecID FROM @Sample ) AS pORDER BY p.SumID, p.Data[/code] E 12°55'05.25"N 56°04'39.16" |
 |
|
|
mateenmohd
Constraint Violating Yak Guru
297 Posts |
Posted - 2008-06-13 : 09:30:43
|
| Thanks a lot. Query is very nice.I have sql 2000 not sql 2005.Query can be convert to sql 2000 syntax ?regards |
 |
|
|
visakh16
Very Important crosS Applying yaK Herder
52326 Posts |
Posted - 2008-06-13 : 10:24:19
|
| http://www.projectdmx.com/tsql/rowconcatenate.aspx |
 |
|
|
|
|
|
|
|