2017-05-23 9 views
0

SQL에서 조건부 조인의 경우 조건에 사용하려고하지 않지만 오류가 발생합니다.where 절에 조건이없는 where 문을 사용하는 방법

select * FROM #tmpInterfaceUpdateTriger tmpTrg 

INNER JOIN Interface.InterfaceTrigger trg (NOLOCK) ON 
     tmpTrg.InterfaceTriggerID = trg.InterfaceTriggerId 
INNER JOIN DataCollection.NonCustodialParentRelationship ncrp     
    ON trg.InterfaceTriggerCode NOT IN          
    case when trg.IndividualId = ncrp.ChildIndividualId 
      then ('AddressChange','EmploymentChange','GoodCauseChange','AbsentParentChange','CSSanctions') end 
+0

WHERE 절과 ON 절에있는 case 식 _expression_ 대신에 일반적으로 'AND' /'OR'를 사용하는 것이 훨씬 더 좋습니다. – jarlh

+0

'trg.IndividualId = ncrp.ChildIndividualId AND trg.InterfaceTriggerCode NOT IN ('AddressChange', 'EmploymentChange', 'GoodCauseChange', 'AbsentParentChange', 'CSSanctions')에 참여하고 싶습니다. 'trg.IndividualId'에 일치하는'ncrp.ChildIndividualId'가없는 레코드도 참여하고 싶습니까? 그렇다면 어떤 기준으로? –

답변

0

귀하의 검색어는 다음과 같아야합니다.

+0

개인 식별자를 기반으로 위 쿼리를 사용할 수 없습니다. 조건도 변경해야합니다. –

+1

@AnubhootiBhatnagar - 두 번째 'not in'조건에 'OR'을 사용하십시오. 질문에 그 조건을 부여해야합니다. – Utsav

관련 문제