日期:2014-05-19  浏览次数:20490 次

求助,关于怎么算工作时间.
有两个表一个是人员tHrhHuman,一个是经历表tHrhResume
两个表通过iHumanID关联.

经历表tHrhResume有如下数据
iHumanID           dBegin                         dEnd
1                         2000-09-01                 2002-09-01
1                         2002-01-01                 2005-09-01
1                         2005-09-01                 2007-01-01

要实限如下.
iHumanID       cHumanName       cWorkYears
1                         李鹏                       7

也就是统计"经历表"中的最早的工作时间到最晚工作时间的年数.




------解决方案--------------------
select r.iHumanID,r.cHumanName,datediff(year,min(c.dBegin),max(c.dend)) as cWorkYears
from tHrhHuman r inner join tHrhResume c on r.iHumanID=c.iHumanID group by r.iHumanID,r.cHumanName