首页 > 解决方案 > 检索不活跃的员工

问题描述

我使用连接到 NMBRS 的 Invantive Query Tool 进行了以下查询。

select e.number
,      es.EmployeeId  
,      e.displayname
,      es.ParttimePercentage
,      es.startdate
from   Nmbrs.Employees.EmployeeSchedules es
left 
outer 
join   Nmbrs.Employees.Employees e 
on     es.EmployeeId = e.id 
order 
by     e.displayname
,      es.startdate

(我想检索兼职百分比/时间表中的所有突变)

但是Nmbrs.Employees.Employees只显示活跃的员工。我需要它,因为显示的员工 IDNmbrs.Employees.EmployeeSchedules不是 UI 中显示的员工 ID,而是内部 ID。

我确实注意到Nmbrs.Employees.Employees有一个额外的 where 子句(根据文档):

Additional Where Clause:
- CompanyId
- active

以下查询

select * from Nmbrs.Employees.Employees where active = 1

给出一个错误:

未知标识符“活动”。

Consider one of the following: Nmbrs.Employees.Employees.PartitionID,     Nmbrs.Employees.Employees.Id, Nmbrs.Employees.Employees.Number,     Nmbrs.Employees.Employees.DisplayName, Employees.Employees.PartitionID, Employees.PartitionID, PartitionID, Employees.Employees.Id.

没有提到 Active,所以我不知道这是否可用。

标签: invantive-sqlinvantive-query-toolnmbrs

解决方案


active是 Nmbrs.nl 上的服务器端过滤器。它默认为“活动”值。不要问我为什么他们选择让 API 反映用户界面;这很奇怪,但就是这样。

要从一个或多个公司(分区)检索所有员工,请使用:

use all

select * from employeesall

或者

select * from employeesinactive

这些是支持的 Nmbrs.nl API 表的最新添加。

请注意,输出不包含员工是否处于活动状态。当您也需要时,请使用视图或:

 select 'active' type
 ,      t.*
 from   nmbrs..employeesactive t
 union all
 select 'inactive' type
 ,      t.*
 from   nmbrs..employeesinactive t

推荐阅读