2013-10-11 1 views
0

이 첫 번째 쿼리는 특정 상태에 대해 설정된 특정 그룹에 대해 직원에게 할당 된 티켓을 찾는 것으로 작성되었습니다.SQL Server : 쿼리 2에서 쿼리 1의 추출/비교

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] 

는 내가 뭘하려고 내가이받은 후에 나는 그것이 티켓을 할당 할 것으로 null로 그 값을 설정할 계획하고 있었다 그런 다음 쿼리 2에없는 질의 1의 결과를 얻을 수있다 다른 직원이 처리해야합니다. 저는 이것을 몇 분 간격으로 운영되는 예정된 직업으로 설정하려고합니다.

+1

문제 및 귀하의 질문은 무엇입니까? 좀 더 설명해주세요. – Szymon

+0

이전에 다음과 같이 시도했지만 여러 결과가 표시되어 작동하지 않았습니다. [SENT TO]에서 [sdetst]. [_ SMDBA _]. [_ TELMASTE_] WHERE [_GROUP_] = 1003이고 [SEQ_UDSTATUS :] = 1002이고 [SENT TO]는 NULL이 아니며 [SENT TO] <> (SELECT DESK. DESTINCT DESK._ACTIVEUSERS _. [Seq.User] DESK. [지원 부서] INNER JOIN DESK._ACTIVEUSERS_ DESK. [지원 담당자] .Sequence = DESK._ACTIVEUSERS _. [Seq.User]) – user2869135

+0

위의 쿼리를 시도했을 때 다음 오류 메시지가 나타납니다. 메시지 512, 수준 16, 상태 1, 줄 1 하위 쿼리가 두 개 이상의 값을 반환했습니다. 하위 쿼리가 =,! =, <, <= , >,> = 또는 하위 쿼리가 식으로 사용될 때이 하위 쿼리가 계속되는 경우에는 허용되지 않습니다. – user2869135

답변

0

업데이트 할 telMaste 레코드를 결정하기 위해 except 키워드를 사용한 경우 어떻게해야합니까?

이와 비슷한?

;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