select a.*,isnull(b.kss,0) as kss,isnull(c.kGet) as kGet
from kmain.dbo.kemployce as a left join
(select kcode,sum(kss) as kss from ktrade.dbo.know_wage group by kcode) as b
on a.kcode=b.kcode
left join
kbase.dbo.kpart_get as c
on a.kduty=c.kduty
and b.kss>=c.kbegin
and b.kss<=c.kend
from kmain.dbo.kemployce as a left join
(select kcode,sum(kss) as kss from ktrade.dbo.know_wage group by kcode) as b
on a.kcode=b.kcode
left join
kbase.dbo.kpart_get as c
on a.kduty=c.kduty
and b.kss>=c.kbegin
and b.kss<=c.kend
from kmain.dbo.kemployce as a inner join
(select kcode,sum(kss) as kss from ktrade.dbo.know_wage group by kcode) as b
on a.kcode=b.kcode
left join
kbase.dbo.kpart_get as c
on a.kduty=c.kduty
and b.kss>=c.kbegin
and b.kss<=c.kend
呵呵,这么快啊!我试一下!看来我原来的想法只有分成两个查询才行!对不 ? yang ?!