select '0' as id,'…所有员工…' as empName,'' as 部门,'' as 工种,'' as 区域,'' as 班次,'' as [time],'' as itemkeyName
union
SELECT a.id,a.empName,JCXX_Dept.depName as 部门,JCXX_WorkType.wtName as 工种,
JCXX_Region.regName as 区域,JCXX_Class.claName as 班次,RSGL_EmployeeTransfer.[time] as time,Item.itemkeyName
FROM  RSGL_Employee a
inner join RSGL_EmployeeTransfer on a.id=RSGL_EmployeeTransfer.employeeID
inner join JCXX_Dept on JCXX_Dept.id=RSGL_EmployeeTransfer.deptId
inner join JCXX_WorkType on JCXX_WorkType.id=RSGL_EmployeeTransfer.worktypeId
inner join JCXX_Region on JCXX_Region.id=RSGL_EmployeeTransfer.reginID
inner join JCXX_Class on JCXX_Class.id=RSGL_EmployeeTransfer.classId
inner join Item on Item.id=RSGL_EmployeeTransfer.state
where RSGL_EmployeeTransfer.time=
(
SELECT max(RSGL_EmployeeTransfer.[time])
FROM  RSGL_Employee
inner join RSGL_EmployeeTransfer on RSGL_Employee.id=RSGL_EmployeeTransfer.employeeID
where RSGL_EmployeeTransfer.time<'2010-12-28' and RSGL_Employee.id=a.id
)
order by empName
查询结果0 …所有员工… 1900-01-01 00:00:00.000
f91065ec-6dec-4e34-a597-94ebc8c5697c 123 人力资源部 调研实习生 摆纬工岗位3 甲 2010-09-19 00:00:00.000 在职
2EDFD888-268E-4E67-9484-695841F602EB 巴德生 厂部 公司办协调员 全厂区域 常白 2010-05-25 00:00:00.000 离职
aac8f59a-f65d-4bc3-9155-fd016922c806 白秀华 准备车间 槽筒工 全厂区域 常白 2010-07-05 00:00:00.000 离职
0B34E11C-D3B9-4A07-8E83-DF62D665FCD0 摆纬工丙班临时工 布机车间 摆纬工 摆纬工岗位3 丙 2010-04-13 00:00:00.000 离职
我想让这条语句查询完之后再过滤离职的怎么办

解决方案 »

  1.   


    SELECT a.id,a.empName,JCXX_Dept.depName as 部门,JCXX_WorkType.wtName as 工种,
    JCXX_Region.regName as 区域,JCXX_Class.claName as 班次,RSGL_EmployeeTransfer.[time] as time,Item.itemkeyName
    FROM RSGL_Employee a
    inner join RSGL_EmployeeTransfer on a.id=RSGL_EmployeeTransfer.employeeID
    inner join JCXX_Dept on JCXX_Dept.id=RSGL_EmployeeTransfer.deptId
    inner join JCXX_WorkType on JCXX_WorkType.id=RSGL_EmployeeTransfer.worktypeId
    inner join JCXX_Region on JCXX_Region.id=RSGL_EmployeeTransfer.reginID
    inner join JCXX_Class on JCXX_Class.id=RSGL_EmployeeTransfer.classId
    inner join Item on Item.id=RSGL_EmployeeTransfer.state
    where RSGL_EmployeeTransfer.time=
    (
    SELECT max(RSGL_EmployeeTransfer.[time])
    FROM RSGL_Employee
    inner join RSGL_EmployeeTransfer on RSGL_Employee.id=RSGL_EmployeeTransfer.employeeID
    where RSGL_EmployeeTransfer.time<'2010-12-28' and RSGL_Employee.id=a.id
    )
    and Item.itemk not in ('离职')
    order by empName
      

  2.   

    select 
    (你的查询不要最后的order by empName) t where 哪个字段 <> '离职'
      

  3.   

    或者
    select '0' as id,'…所有员工…' as empName,'' as 部门,'' as 工种,'' as 区域,'' as 班次,'' as [time],'' as itemkeyName
    union
    SELECT a.id,a.empName,JCXX_Dept.depName as 部门,JCXX_WorkType.wtName as 工种,
    JCXX_Region.regName as 区域,JCXX_Class.claName as 班次,RSGL_EmployeeTransfer.[time] as time,Item.itemkeyName
    FROM RSGL_Employee a
    inner join RSGL_EmployeeTransfer on a.id=RSGL_EmployeeTransfer.employeeID
    inner join JCXX_Dept on JCXX_Dept.id=RSGL_EmployeeTransfer.deptId
    inner join JCXX_WorkType on JCXX_WorkType.id=RSGL_EmployeeTransfer.worktypeId
    inner join JCXX_Region on JCXX_Region.id=RSGL_EmployeeTransfer.reginID
    inner join JCXX_Class on JCXX_Class.id=RSGL_EmployeeTransfer.classId
    inner join Item on Item.id=RSGL_EmployeeTransfer.state
    where RSGL_EmployeeTransfer.time=
    (
    SELECT max(RSGL_EmployeeTransfer.[time])
    FROM RSGL_Employee
    inner join RSGL_EmployeeTransfer on RSGL_Employee.id=RSGL_EmployeeTransfer.employeeID
    where RSGL_EmployeeTransfer.time<'2010-12-28' and RSGL_Employee.id=a.id
    ) and Item.itemkeyName <> '离职'
    order by empName