У меня есть таблица
tblSomeData
OrderOccurance ID Data
-------------- -- ----
1 1 HTMedia
2 1 Hedge
3 1 Bowing
4 1 FonWirelessLtd
Первый столбец "OrderOccurance" указывает, в каком порядке элементы, т.е. данные будутпоявляются в конечном выводе
Ожидаемый вывод будет
ID Data
-- -----
1 HTMedia,Hedge,Bowing,FonWirelessLtd
Я выполнил следующую программу
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
Я получаювыводится как
ID Data
-- -----
1 Bowing,FonWirelessLtd,Hedge,HTMedia
Кажется, что FOR XML PATH () сортирует сам, а затем выполняет конкатенацию.
Как получить ожидаемый результат.
Я использую SQL Server 2005.
Спасибо