select a.*,
isnull(金额,0) 金额,
isnull(出勤天数,0) 出勤天数,
isnull(缺勤天数,0) 缺勤天数
from 资料表 a left join 类别表 b on a.代码=b.代码
left join 出勤表 c on a.代码=c.代码
left join 缺勤表 d on a.代码=d.代码
select *
,金额=(select sum(金额) from 类别表 where 类别=a.类别)
,出勤天数=isnull((select sum(出勤天数) from 出勤表 where 代码=a.代码),0)
,缺勤天数=isnull((select sum(缺勤天数) from 缺勤表 where 代码=a.代码),0)
from 资料表 a
select *
,金额=(select sum(金额) from 类别表 where 类别=a.类别)
,出勤天数=isnull((select sum(出勤天数) from 出勤表 where 代码=a.代码),0)
,缺勤天数=isnull((select sum(缺勤天数) from 缺勤表 where 代码=a.代码),0)
from 资料表 a
SELECT 资料表.代码 资料表.姓名 资料表.类别 类别表.金额 出勤表.出勤天数 缺勤表.缺勤天数 FROM 资料表 FULL JOIN 类别表 ON 类别表.类别 = 资料表.类别 FULL
JOIN 出勤表 ON 出勤表.代码 = 资料表.代码 FULL JOIN 缺勤表.代码 = 资料表.代码