I have a table
tblSomeData
OrderOccurance ID Data
-------------- -- ----
1 1 HTMedia
2 1 Hedge
3 1 Bowing
4 1 FonWirelessLtd
The first column "OrderOccurance" indicates in which order the elements i.e. Data will appear in the final output
The Expected Output will be
ID Data
-- -----
1 HTMedia,Hedge,Bowing,FonWirelessLtd
I have done the below program
Select
ID
, Data = stuff((Select ',' + Cast(Data As Varchar(20)) From tblSomeData t2
Where t2.ID = t1.ID for xml path('')),1,1,'')
From tblSomeData t1
Group by t1.ID
I am getting the output as
ID Data
-- -----
1 Bowing,FonWirelessLtd,Hedge,HTMedia
It seems that, the FOR XML PATH() sorts by itself and then performs the concatenation.
How can I bring the expected output.
I am using SQL Server 2005.
Thanks