欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

求教一个 复杂sql的写法解决办法

更新时间: 2014-01-05 02:17:25 责任编辑: Author_N1

 

求教一个 复杂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
               from t_MeetingDep md 
               inner join 部门表 d
                       on d.dep_id = md.dep_id
               where r.meeting_id = md.meeting_id
               for xml path('')
              ),1,1,''
            ) as 参会部门,
            
       m.begin_time 开始时间,
       m.end_time 结束时间    
            
from t_Meeting m
inner join t_Room r
        on m.room_id = r.room_id

--参考方法--
----------------------------------------------------------------
-- Author  :DBA_Huangzj(發糞塗牆)
-- Date    :2013-12-11 14:57:21
-- Version:
--      Microsoft SQL Server 2012 (SP1) - 11.0.3128.0 (X64) 
-- Dec 28 2012 20:23:12 
-- Copyright (c) Microsoft Corporation
-- Enterprise Edition (64-bit) on Windows NT 6.2 <X64> (Build 9200: )
--
----------------------------------------------------------------
--> 测试数据:[t_Meeting]
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:17:25
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/8044/
本文WWW.DOC100.NET DOC100.NET版权所有。