日期:2014-05-17  浏览次数:20540 次

求教一个 复杂sql的写法
一个会议通知模块,涉及4个表
表1,会议表:t_Meeting
meeting_id    subject     begin_time         end_time            room_id
1              会议1      2013-12-10 10:00   2013-12-10 10:00     1
2              会议2      2013-12-10 14:00   2013-16-10 10:00     2

表2,会议室表:t_Room
room_id    room_name
1           第一会议室
2           第二会议室

表3,参会部门表:t_MeetingDep
meeting_id   dep_id
1             1
1             2
2             2
2             4

表4,部门表:
dep_id   dep_name
1         财务部
2         信息部
3         综合部
4         市场部

希望得到如下结果
会议编号   会议名称  会议室         参会部门           开始时间             结束时间
1          会议1     第一会议室     财务部,信息部     2013-12-10 10:00    2013-12-10 10:00  
2          会议2     第二会议室     信息部,市场部     2013-12-10 14:00    2013-16-10 10:00

请问该如何写sql来实现,谢谢!

------解决方案--------------------
FOR XML PATH('')
合并行!
应该就这一个技术点吧....
------解决方案--------------------
select distinct
       m.meeting_id 会议编号,
       m.subject 会议名称,
       r.room_name 会议室,
       stuff(
              (select ','+md.dep_name
 &n