根据当前的日期查询应该显示的报表,数据库关系和数据如下:
报表表
报表ID,报表名称,人员类型1截至日期,人员类型2截至日期,部门ID
100 报表1 2011-09-28 2011-09-30 1
101 报表2 2011-09-28 2011-09-30 2
部门表
部门ID,部门名称
1 部门1
2 部门2
人员表
人员ID,人员名称,部门ID,人员类型
1 人员1 部门1 人员类型1
2 人员2 部门2 人员类型2
怎么根据的时间(2011-09-29)显示报表表中相应的数据?谢谢!
------解决方案--------------------------------------------------------
select * from (
select 报表ID,报表名称,人员类型1截至日期 as 截至日期,部门ID from tt where 类型=1
union all
select 报表ID,报表名称,人员类型2截至日期 as 截至日期,部门ID from tt where 类型=2
) A
where current date > 截至日期 and 部门ID = 1