上面那个有duplicate,给你另一个试试看。不过有点乱
select e.*, f.dtDateAdjust, f.dblSalAmt from tblAtt e
left outer join
(select c.strEmpUid, c.dtDateRecord, c.dtDateAdjust, d.dblSalAmt
(select a.strEmpUid,a.dtDateRecord, max(b.dtDateAdjust) as dtDateAdjust from tblAtt a
left outer join tblSalary b on a.strEmpUid = b.strEmpUid
where a.dtDateRecord >= b.dtDateAdjust
group by a.strEmpUid,a.dtDateRecord) c
left outer join tblSalary d on c.strEmpUid=d.strEmpUid and c.dtDateAdjust=d.dtDateAdjust) f
on e.strEmpUid=f.strEmpUid and e.dtDateRecord = f.dtDateRecord