2013-12-12 2 views
1

NULL이 될 수있는 여러 필드에 가입 할 수 있습니다.TSQL은, 하나는 내가 간단한 쿼리를

하지만 SomeId에 대한 첫 번째 조인은 NULL 일 수 있습니다.이 경우 검사는 IS NULL이어야하며 여기에서 조인이 실패합니다. 나는 CASE를 사용하려고했지만, 또한 그것을 작동시키지 못한다.

나는 여기에 간단한 것을 놓치고 있습니까?

+0

'SomeId'가'Products'에서'NULL' 인 경우'SomeTable'에서'NULL' 인 행과 결합해야합니까? 평등 의미론을 원하십니까? –

+0

예 :-) –

답변

2

Undocumented Query Plans: Equality Comparisons.

SELECT * 
FROM Products p 
     LEFT JOIN SomeTable st 
     ON st.SomeOtherId = p.SomeOtherId 
      AND EXISTS (SELECT st.SomeId INTERSECT SELECT p.SomeId) 
+0

훌륭한 작품입니다. 링크 주셔서 감사합니다! –