select distinct b.card_code,mach_mg.mach_code,b.sdz
from mach_mg
inner join (select employee_info.*,a.mach_group,a.sdz
from employee_info,(select ug_rg.ug_code,rule_group.*
from ug_rg,rule_group
where ug_rg.rule_code=rule_group.rule_code) a
where employee_info.user_group=a.ug_code) b on b.mach_group=mach_mg.group_code
left join membertemp c on convert(varchar(18),b.card_code+mach_mg.mach_code+b.sdz)=
convert(varchar(18),c.CardNo+c.mach_no+c.sd) and c.deleflag=0
--没有数据未测试。
from mach_mg
inner join (select employee_info.*,a.mach_group,a.sdz
from employee_info,(select ug_rg.ug_code,rule_group.*
from ug_rg,rule_group
where ug_rg.rule_code=rule_group.rule_code) a
where employee_info.user_group=a.ug_code) b on b.mach_group=mach_mg.group_code
left join membertemp c on convert(varchar(18),b.card_code+mach_mg.mach_code+b.sdz)=
convert(varchar(18),c.CardNo+c.mach_no+c.sd) and c.deleflag=0
--没有数据未测试。
from mach_mg,(select employee_info.card_code,a.mach_group,a.sdz
from employee_info,(select ug_rg.ug_code
from ug_rg,rule_group
where ug_rg.rule_code=rule_group.rule_code) a
where employee_info.user_group=a.ug_code) b
where b.mach_group=mach_mg.group_code and not exists
(select 1 from membertemp c where convert(varchar(18),b.card_code+mach_mg.mach_code+b.sdz =
convert(varchar(18),c.CardNo+c.mach_no+c.sd) and c.deleflag=0)
from mach_mg left join (
(select employee_info.*,a.mach_group,a.sdz from employee_info,(select ug_rg.ug_code,rule_group.* from ug_rg join rule_group on ug_rg.rule_code=rule_group.rule_code) a
where employee_info.user_group=a.ug_code) b convert(varchar(18),b.card_code+mach_mg.mach_code+b.sdz) not in (select convert(varchar(18),CardNo+mach_no+sd) from membertemp where deleflag=0)
on b.mach_group=mach_mg.group_code and 这样?