저는 약간 새로운 SQL을 사용하므로 나와 함께 있습니다.Hive SQL - Null 값을 무시하도록 JOIN 쿼리를 수정하십시오.
두 개의 테이블이 있습니다. 각 테이블에는 ID 열이 있습니다. 표 A에는 역할이라는 제목의 열이 있으며 표 B에는 결과라는 제목의 열이 있습니다. 이 테이블을 쿼리하여 ID를 기반으로하는 행이 'PS'이고 결과가 'DE'인 행을 찾으려고합니다.
SELECT count(*)
FROM A JOIN B
ON (A.id = B.id
AND A.role = 'PS'
AND B.outcome = 'DE')
가 나는 그것이 A.role 또는 B.outcome 중 하나는 null 값이 행을 포함하지 않도록 할 수있는 방법에 대해 인터넷을 검색했습니다 : 여기 내 코드입니다.
B.outcome = 'DE'인 항목의 총 수가 40,000인데도 위 코드 결과는 40,100이라고 말할 수 있습니다. 따라서 그것은 분명히 내 조건에 맞지 않는 항목을 포함합니다. 더 나은 쿼리를 개선 할 수있는 방법이 있습니까?
또한 IS NOT NULL 조건을 추가하려고 시도했지만 출력을 변경하지 않았습니다. – t3hclwn
거기에 없어야하는 여분의 행을 확인 했습니까? 그들은 무엇을 포함합니까? – biziclop
그들은 모두 A.role = 'PS'와'B.outcome = 'DE'' 둘 다 가지고있는 나의 설명에 맞는 것 같다. – t3hclwn