【发布时间】:2011-04-04 14:16:01
【问题描述】:
我正在处理需要检索的报告
- 所有员工
- 本月新增内容
- 今年新增内容
- 本月终止
- 今年终止
所有这些都按部门划分(新营销人员、新销售人员等)。
总共大约有 23 列..
我通过使用更新填充每个字段来使用临时表。这是我正在做的一个简化示例。 Employee 表有大部分需要的值(hiredate、termdate 等)。每次更新实际上都有一个连接和更多条件。
update #tmptbl
set MtdHiresSales = select count(empid) from emp e where e.dept = 012
and hiredate between start_of_month() and getdate()
-- more predicates
set MtdHiresMkting = ...repeat... with e.dept=013
我确信有更好的方法,因为有很多代码重复。在这种情况下临时表是否合适?我不确定如果没有它怎么能做到。有什么建议吗?
【问题讨论】:
-
所以有一个员工表,其中包含 empId、dept、hiredate、terminationDate 列?
-
主要是。我必须加入另一个表才能获得部门(基于 empid)。
标签: sql sql-server tsql