有挑战性的存储过程(欢迎各高手进来指教,邹建大哥进来看看,在线等)
有表a(qid,tagname,rid,starttime,endtime,startweekday,endweekday,startdate,enddate)
各字段的含义 qid(楼层号)rid(房间编号),tagname(房间的状态),starttime(开始时间)endtime(结束时间),startweekday(开始星期),endweekday(结束星期),startdate(开始日期),enddate(结束日期),d(为优先级2比1高)
表内容如下:
qid rid tagname starttime endtime startweekday endweekday startdate enddate d
1 A1 未订 8:00 9:00 1 5 null null 1
1 A1 未订 9:00 10:00 1 5 null null 1
1 A1 未订 10:00 11:00 1 5 null null 1
1 A1 装修 8:00 9:00 null null 2005-1-18 2005-1-19 2
1 A1 装修 9:00 10:00 null null 2005-1-18 2005-1-19 2
1 A1 装修 10:00 11:00 null null 2005-1-18 2005-1-19 2
1 A2 未订 8:00 9:00 1 5 null null 1
1 A2 未订 9:00 10:00 1 5 null null 1
1 A2 未订 10:00 11:00 1 5 null null 1
1 A2 装修 8:00 9:00 null null 2005-1-18 2005-1-19 2
1 A2 装修 9:00 10:00 null null 2005-1-18 2005-1-19 2
1 A2 装修 10:00 11:00 null null 2005-1-18 2005-1-19 2
startweekday ,endweekday代表平常周一到周五时各房间在不同时段的状态。startdate,enddate代表特殊日期各房间各时段的状态。要形成如下的报表存储过程改如何写(传入的参数为日期如2005-1-17号,为星期一应该显示常规的周一到周五的状态,如果传入的为2005-1-18虽然为星期二,但我们已特殊日期的优先级高,显示特殊日期时的设置)现在我们传入2005-1-17要显示成如下报表:
A1 A2
08:00-09:00 未订 未订
09:00-10:00 未订 未订
11:00-12:00 未订 未订
传入2005-1-18时显示如下
08:00-09:00 装修 装修
09:00-10:00 装修 装修
11:00-12:00 装修 装修
这样的存储过程要怎么写呢?请高手指教