目前项目的基本功能都完成了,只剩下最后的统计报表功能。
其中一个报表的需求是这样的:有一张项目日志表,里面存储的都是人员项目日志(包括人员员工号,进入项目的时间,离开项目的时间) 其中同一个人同时可能在多个项目中,
所 以时间段是有重复的。现在要出一张报表,是计算人员的空闲时间段。
原本一直会以为此SQL会比较复杂,一直在考虑每条数据之间的比较,
后来画图发现,可以不需要这么麻烦。
首先查出可能成为空闲时间的时间段,则结束时间作为开始时间,另一条的开始时间作为结束时间 约束条件是员工号相等,此条的结束时间小于另一条的开始时间。
之后再判断这些可能的时间段是否和项目日志表中的 时间是否冲突 如果不冲突的的话就是需要的时间。
做法就这么简单!!!