T-SQL에서 값 또는 null 대신 1 또는 0 반환

질문:

SELECT 문장에서 나는 두 개의 표를 연결했다.Table2에서 상응하는 값이 없을 수 있습니다. 이런 상황에서 제 SELECT 문장은 이 열에 되돌아와야 합니다NULL.내가 하고 싶은 것은 Table2로부터의 실제 값이 아니라 1로 돌아가는 것이다.
나는 이 점을 실현하기 위해 ISNULL를 사용할 수 있다고 생각하지만, 이 함수는 실제 값을 되돌려 주는 것으로 설계되었다.
이것이 바로 나SELECT의 진술이다.
SELECT a.Id, ISNULL(b.PersonId, 0)
FROM Table1 AS a
   LEFT OUTER JOIN Table2 AS b ON a.Id = b.Id
여기의 PersonId열은 UNIQUEIDENTIFIER 유형입니다. 저는 Guid나 0으로 돌아가고 싶지 않습니다.반대로 나는 1이나 0으로 돌아가고 싶다.
나는 이런 상황을 어떻게 처리합니까?

답안

여기서 한 대를 찾으시겠어요 CASE EXPRESSION .
SELECT a.Id, CASE WHEN b.PersonId IS NOT NULL THEN 1 ELSE 0 END
FROM Table1 AS a
LEFT OUTER JOIN Table2 AS b ON a.Id = b.Id