SQL2000数据库行转列问题

图片说明
如图,判断当TnRoomNum里面两个或多个相同的,把后面的姓名合并到同一列,TnDepatrment和TnRemarks同样移动,如果是NULL可为空,但是“,”这个逗号要放进去,不知道怎么写SQL语句,求大神指点!
TnName可以不用单独分列,和后面TnDepartment、TnCategory、TnRemarks一样加逗号分隔开,也可以另建一列,看哪个方便就怎么样排

http://www.jb51.net/article/16407.htm

图片说明
查询后类似于这种格式,用逗号分隔开

用 for xml path 可实现拼接

select TnRoomNum,stuff(TnName,1,1,'') as TnName, stuff(TnDepatrment,1,1,'') as TnDepatrment,
stuff(TnRemarks,1,1,'') as TnRemarks
from (
select TnRoomNum,
(select ','+TnName from 表名 where TnRoomNum=a.TnRoomNum for xml path('') ) as TnName,
(select ','+TnDepatrment from 表名 where TnRoomNum=a.TnRoomNum for xml path('') ) as TnDepatrment,
(select ','+TnRemarks from 表名 where TnRoomNum=a.TnRoomNum for xml path('') ) as TnRemarks
from 表名 a
group by TnRoomNum
)b