1
我有一个表连接具有顺序保留
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的
感谢
这是很好的先生..还有1个问题。通常在子查询中,我们不能按子句写顺序。 SQL服务器报告错误(据我所知..请纠正我,如果我错了)。那么为什么它在这种情况下工作? – learner 2010-07-08 06:14:34
@learner:我不知道为什么ORDER BY不应该在子查询中工作 - 谨慎地展示一个具体的例子? – 2010-07-08 06:30:14