Sql 如何在where子句的case语句中使用not in condition
我试图将not in condition与SQL中的条件联接一起使用,但我得到了一个错误Sql 如何在where子句的case语句中使用not in condition,sql,Sql,我试图将not in condition与SQL中的条件联接一起使用,但我得到了一个错误 select * FROM #tmpInterfaceUpdateTriger tmpTrg INNER JOIN Interface.InterfaceTrigger trg (NOLOCK) ON tmpTrg.InterfaceTriggerID = trg.InterfaceTriggerId INNER JOIN DataCollection.NonCustodialPar
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
您的查询应该是这样的
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')
一般来说,在
WHERE
和ON
子句中使用和/或
而不是大小写
表达式要好得多。似乎您想在trg.IndividualId=ncrp.ChildIndividualId和trg.InterfaceTriggerCode中加入('AddressChange'、'EmploymentChange'、'GoodCauseChange'、'AbsentParentChange'、'CSResponses')
。如果trg.IndividualId
没有匹配的ncrp.ChildIndividualId
,您是否也要加入记录?如果是,基于什么条件?我不能使用上述查询,因为基于IndividualId,我需要将不在条件更改为well@AnubhootiBhatnagar-然后使用或
进行第二次不在
状态。您应该劳工处亦在问题中提出了这项条件。