简体   繁体   English

如何在where子句中的case语句中使用not in condition

[英]how to use not in condition in case statement in where clause

I am trying to use not in condition with the case for conditional join in SQL but I am getting an error. 我正在尝试在SQL连接条件连接的情况下不使用条件连接,但出现错误。

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

Your query should be like this. 您的查询应该是这样的。

SELECT
  *
FROM #tmpInterfaceUpdateTriger tmpTrg

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM