求一个计算住宿天数的SQL语句
入住信息:
姓名 入住房间 入住日期
张三 A001 2013-3-1
李四 A001 2013-3-7
王五 A002 2013-3-4
宿舍调整信息:
姓名 原房间 新房间 调整入住日期
李四 A001 A002 2013-3-13
李四 A002 A003 2013-4-15
王五 A002 A001 2013-4-10
退宿信息:
姓名 退缩房间 退宿日期
王五 A001 2013-4-15
输入年份和月份(2013年3月份,或者2013年4月份),求每个人员在这个年份和月份在各个宿舍的住宿天数。
姓名 年 月 房间 住宿天数
谢谢。
------解决方案--------------------其实我觉得你调整下表的结构,这个问题会更好解决。
就是把“宿舍调整”看成是对原来宿舍的“退订”和对新宿舍的“入住”,这样,无论是在表中记录时间段(开始时间和结束时间)还是记录时间点(对同一宿舍的开始和结束分别记录,而用类型区分),都会好处理的多吧?
当然,这是我的想法,可能你有你的具体业务需求。
如果像你现在这样存储,把“宿舍调整表”分拆为两行(退订和入住),应该是突破口吧,我先写一下,稍等。