나는 제외 할 것을오고 일부 행이더 엄격한 조건을 추가하기위한 부속 질의 또는 공용체?
내 코드 : 수단이 이러한 테이블은 filenum 기록의 불만이 있다는 것을 무엇
SELECT DISTINCT T1.FILENUM, T5.OFG, T4.UN
FROM
T1
LEFT OUTER JOIN
T2 ON T1.ID=T2ID
LEFT OUTER JOIN
T3 ON T1.ID = T3.ID
LEFT OUTER JOIN
T4 ON T3.ID=T4ID
LEFT OUTER JOIN
T5 ON T2.ID = T5.ID
WHERE DATECondition
AND T1.FILENUM LIKE 'S%'
AND (T4.UN = 26 OR T4.UN = 25 OR T4.UN = 24 OR T4.UN = 32)
결과
FILENUM OFG UN
S1 S 26
S1 C 25
S1 D 26
S2 S 26
S2 S 24
S3 S 26
S4 S 26
S4 C 25
S5 S 32
S6 S 24
S7 S 25
S7 S 24
유엔은 불만 사항에 대한 사용자 및 경로입니다. OFG는 이의 신청자입니다. UN은 Filenum을 라우팅하는 사용자입니다.
나는 추가되며, 경우에만 추가하고 싶었 (OFG가 싫어 '[CD] %를'또는 OFG는 NULL IS) 나는 또한 있는지 확인하려면 해당 행을위한, 무엇 : OFG가 C 인 경우 또는 D가있는 경우에도 모든 행을 제외하십시오.
이 행을 스캔하여 UN을 살펴 보겠습니다. UN이 가지고있는 filenum의 개수가 24이고 UN도 26이 2 이상인 경우 un가 26 인 filenum 행만 표시하십시오. 결과적으로 관리자에게 항상 액세스하는 사용자가 있고 또한 혼자서 만 처리하는 동일한 사용자 (UN). 나는 그 감독자 사용자가 다른 사용자와 함께 사건에 접근 할 경우 그 사람이 불만 사항을 읽었을 수 있기 때문에 그 사람의 행을 포함시키지 않는 것을 보여주고 싶습니다. 이 상담원 사용자를 비교하려는 사용자가 3 명 있습니다.
sueprvisor 사용자의 filenum 수가 1 인 경우 내 결과에 행을 포함 시키십시오. (25, 24)에서 un 인 superenvisor 인 사용자 2 명이 2보다 큰 filenum의 수인 경우 un가 25 인 행만 포함합니다. un (26, 24) 및 un in (32, 24).
결과 2 :
FILENUM OFG UN
S2 S 26
S3 S 26
S5 S 32
S6 S 24
S7 S 25
당신은 더 많은 설명을 추가해야합니다. 유엔은 동시에 24와 26을 동시에 나눌 수 없다. 우리가 문제를 이해할 수 있도록 도와 주며 해결책을 도울 수 있습니다. –
@SeanLange 유엔에 대한 자세한 내용을 알려 드린 나의 시도를 읽으십시오. –
WHERE 절에 AND NOT EXISTS()를 추가하여이 문제를 해결해보십시오. –