姓名表:
ID 姓名 指标ID
1 小明 1
2 小李 2
3 小张 1
指标表:
ID 迟到指标 早退指标 旷课指标
1 10 5 5
2 20 10 5
实际表:
ID 日期 姓名ID 实际迟到 实际早退 实际旷课
1 2013-04-01 1 5 0 3
2 2013-5-10 3 0 2 5
==============================================================================
按日期区间查询:区间为上月26日至本月25日
查询2013年3月26日至2013年4月25日之间结果:
姓名 迟到指标 实际迟到 早退指标 实际早退 旷课指标 实际旷课
小明 10 5 5 0 5 3
小李 20 10 5
小张 10 5 5
SQL 表连接
------解决方案--------------------
create table 姓名表
(ID int, 姓名 varchar(10), 指标ID int)
insert into 姓名表
select 1, '小明', 1 union all
select 2, '小李', 2 union all
select 3, '小张', 1
create table 指标表
(ID int, 迟到指标 int, 早退指标 int, 旷课指标 int)
insert into 指标表
select 1, 10, 5, 5 union all
select 2, 20, 10, 5
create table 实际表
(ID int, 日期 date, 姓名ID int, 实际迟到 int, 实际早退 int, 实际旷课 int)
insert into 实际表
select 1, '2013-04-01', 1, 5, 0, 3 union all
select 2, '2013-5-10', 3, 0, 2, 5
select a.姓名,
b.迟到指标,
isnull(rtrim(c.实际迟到),'') '实际迟到',
b.早退指标,
isnull(rtrim(c.实际早退),'') '实际早退',