1,人员信息表(a0100表示人员编号,a0141表示人员填写的政治面貌,a0324表示人员填写的技术等级)
select  * from sba01a0100  a0141  a0324
4350    01      
4351           13
4352    01     012,人员需要提交的档案材料表(lackid是缺省材料表的ID,主键,hlpcode的值就是与a0141,a0324对应的字段,kind是材料大类的编号,subkind是材料小类的编号,archid材料编号。如果是上表中的填写的政治面貌或者技术等级不为空,就得与之对应提交这些材料.)
select * from LackArchiveslackid   hlpCode   kind  subkind   arcid
128      a0324      1      0        393
129      a0324      1      0        328
130      a0324      2      0        302
131      a0324      3      0        305
132      a0141      2      0        302
133      a0141      2      0        5143个人提交的材料表(a0100表示用户编号,kind材料大类id,subkind材料小类,clcodetype材料类别id,与LackArchives的arcid相同)
select * from archives
   
id    a0100    kind  subkind  clcodetype
1     4350     2       0       302
2     4351     1       0       3934材料名称表(archiveid材料编号,dictname材料名称)
select * from directorydictid   kind  subkind  archiveid  dictname
 1        1       0       101       履历表
 2        2       0       201       自传思路实现:
1,查询LackArchives表设置的缺省材料表的字段  select hlpCode from LackArchives group by hlpCode 
2,到人员表去查询上述sql查询hlpCode不为空的字段(也就是人员填了相关的信息)
3, 然后看这些人员都提交了哪些材料,跟LackArchives表设置响应字段所需要提交的材料对比下(在lackarchives设置的字段材料都需要在archives的人员中出现),如果在lackarchives设置了a0324的材料,没有在该人员的archives表没找到,就是缺省材料的人   
要求实现:1,人员在填写了政治面貌或者技术等级后(表sba01),,就必须提交人员所需要的对应材料表LackArchives,人员提交的材料在(表archives),查询提交材料不全的全部人员信息。2,查询某个人还差哪些材料没提交 我用存储过程已经实现了,但是上述要求都需要用一句sql实现,有点难度,请各位大侠帮忙,在下先谢过了!