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 |
|
asm
Posting Yak Master
140 Posts |
Posted - 2012-02-16 : 06:19:40
|
| Data Store in a table -->Code Road Width Length LM000001 1 8.0000 0.0000LM000001 10 8.0000 0.0000LM000002 10 6.0000 13.0000LM000002 11 7.0000 8.0000LM000002 13 8.0000 0.0000--> Output should be likeCode Road LM000001 1(8-0), 10(8-0)LM000002 10(6-13), 11(7-8), 13(8-0)Please guide how to achive this by query?Thanksasm |
|
|
X002548
Not Just a Number
15586 Posts |
|
|
visakh16
Very Important crosS Applying yaK Herder
52326 Posts |
Posted - 2012-02-16 : 15:59:42
|
| its ugly but can be done as followsSELECT Code,STUFF((SELECT ',' + CAST(Road as varchar(5)) + '(' + CAST(width AS varchar(5))+ ',' + CAST(length AS varchar(5)) + ')'),1,1,'')FROM (SELECT DISTINCT Code FROM table) t------------------------------------------------------------------------------------------------------SQL Server MVPhttp://visakhm.blogspot.com/ |
 |
|
|
asm
Posting Yak Master
140 Posts |
Posted - 2012-02-17 : 02:30:52
|
| When i try this query ... error through "invalid column name Road, Width, Length.." |
 |
|
|
asm
Posting Yak Master
140 Posts |
Posted - 2012-02-17 : 05:31:52
|
| Try to explain with table and queryCREATE TABLE #test(ID INT,Status VARCHAR(50))INSERT INTO #test(ID,Status)SELECT 2 ,'ACTIVE'UNIONSELECT 2 ,'INACTIVE'UNIONSELECT 2 ,'BOTH'UNIONSELECT 3 ,'ACTIVE'UNIONSELECT 3 ,'INACTIVE'SELECT * from #test --> Result expected--ID Status--2 ACTIVE,AINCTIVE,BOTH--3 ACTIVE,AINCTIVE SELECT DISTINCT ID ,( SELECT ',' + status as 'data()' FROM #test FOR XML PATH('')) FROM #test-- But by this query result coming--2 ,ACTIVE ,BOTH ,INACTIVE ,ACTIVE ,INACTIVE--3 ,ACTIVE ,BOTH ,INACTIVE ,ACTIVE ,INACTIVEdrop table #test |
 |
|
|
visakh16
Very Important crosS Applying yaK Herder
52326 Posts |
Posted - 2012-02-17 : 13:16:42
|
quote: Originally posted by asm When i try this query ... error through "invalid column name Road, Width, Length.."
sorry it whould beSELECT Code,STUFF((SELECT ',' + CAST(Road as varchar(5)) + '(' + CAST(width AS varchar(5))+ ',' + CAST(length AS varchar(5)) + ')' FROM table WHERE Code = t.Code),1,1,'')FROM (SELECT DISTINCT Code FROM table) t------------------------------------------------------------------------------------------------------SQL Server MVPhttp://visakhm.blogspot.com/ |
 |
|
|
|
|
|
|
|