编写第一个查询,查找为我们的员工分配设置为特定状态的特定组的故障单。
SELECT DISTINCT [SENT TO]
FROM [sdetst].[_SMDBA_].[_TELMASTE_]
WHERE [_GROUP_] = 1003 and [SEQ_UDSTATUS:] = 1002 and [SENT TO] is not null
编写第二个查询是为了找到当前在线且可用的员工。
SELECT DISTINCT DESK._ACTIVEUSERS_.[Seq.User]
FROM DESK.[Support Staff] INNER JOIN DESK._ACTIVEUSERS_
ON DESK.[Support Staff].Sequence = DESK._ACTIVEUSERS_.[Seq.User]
我想要做的是在查询1中得到不在查询2中的结果。然后在我得到这个之后我计划将这些值设置为null,因为它会使门票未分配并且可以由其他人处理员工。我打算将其设置为每隔几分钟运行一次的预定作业。
答案 0 :(得分:0)
如果您使用关键字except来确定要更新的telMaste记录,该怎么办?
这样的东西?
;WITH query1WithoutQuery2 AS (
SELECT DISTINCT [SENT TO]
FROM [sdetst].[_SMDBA_].[_TELMASTE_]
WHERE [_GROUP_] = 1003 and [SEQ_UDSTATUS:] = 1002 and [SENT TO] is not null
EXCEPT
SELECT DISTINCT DESK._ACTIVEUSERS_.[Seq.User]
FROM DESK.[Support Staff] INNER JOIN DESK._ACTIVEUSERS_
ON DESK.[Support Staff].Sequence = DESK._ACTIVEUSERS_.[Seq.User]
)
UPDATE telMaste
SET [SENT TO] = NULL
FROM
[sdetst].[_SMDBA_].[_TELMASTE_] as telMaste
INNER JOIN
query1WithoutQuery2
on telMaste.[SENT TO] = query1WithoutQuery2.[SENT TO]
WHERE [_GROUP_] = 1003 and [SEQ_UDSTATUS:] = 1002 and [SENT TO] is not null