日期:2014-05-16  浏览次数:20938 次

求一个比较难的sql语句,有时间的朋友及高手们进来讨论一下
网页界面参照图
http://alexander.host2.e23dns.net/yuYueADD.aspx

数据库结构及数据在这个页面的左上角,可以下载观察一下数据

功能是实现页面中   注:只能预约三天之内。例如:当前时间为2007/1/1,预约日期为2007/1/02,2007/1/03,2007/1/04   下面的这张表格.之前左边写的时间是静态的,现在要改成动态的,所以比较麻烦

字段说明
room   0   表示A房间   1表示B房间   1表示C房间

主键   字段   date+time+room

------解决方案--------------------
--try

select
A.[Time] as 时间,
iif(B.[date] is null, '不存在 ',B.course & '预订中 ') as [2007-08-08],
iif(C.[date] is null, '不存在 ',C.course & '预订中 ') as [2007-08-09],
iif(D.[date] is null, '不存在 ',D.course & '预订中 ') as [2007-08-10]
from
(((SELECT [Time] FROM CourseTab GROUP BY Time ) AS A
left join (select * from CourseTab where [date]=#2007-8-8#) as B on A.[Time]=B.[Time])
left join (select * from CourseTab where [date]=#2007-8-9#) as C on A.[Time]=C.[Time])
left join (select * from CourseTab where [date]=#2007-8-10#) as D on A.[Time]=D.[Time]

------解决方案--------------------
你将记录及正确结果贴出来,并简要说明结果是怎样得出的,大家好帮助你。