1
두 테이블 A와 B는 모두 다음과 같은 구조를 가지고 있습니다.HIVE에서 두 테이블을 결합하는 방법.
// Table A
Name Age actualdate no
// Table B
City sdate edate id
나는 경우, ID = 아니오 그리고 sdate < = actualdate 및 EDATE> = actualdate 가입하여 A 및 B로부터의 모든 필드를 획득하기 바란다.
where 절을 사용하여 다음과 같이 시도했지만 작동하지 않습니다.
select v3.*, t3.* from A v3
JOIN
B t3
where v3.id = t3.no and
v3.sdate <= t3.actualdate and
v3.edate >= t3.actualdate
limit 1;
절에 사용 :
select v3.*, t3.* from A v3
JOIN
B t3
ON (v3.id = t3.no and
v3.sdate <= t3.actualdate and
v3.edate >= t3.actualdate)
limit 1;
불행하게도, 하이브가 동등 조인을 지원하지 않습니다. 거기 조인을 사용하여 위의 달성 방법이 있습니까?
참여를 시도 할 때 발생하는 오류는 무엇입니까? –
"ON"절을 사용하면 오류가 발생합니다 : FAILED : 의미 분석의 오류 : 줄 JOIN 'actualdate'에서 왼쪽 및 오른쪽 별칭이 모두 발생했습니다. 그리고 "WHERE"절을 사용할 때 오류가 발생하지 않지만 어떤 결과도 얻지 못합니다. 그러나 ""v3.sdate <= t3.actualdate 및 v3.edate> = t3.actualdate "부분을"ON "절에서 제거하면 조건 확인없이 작동합니다. – Ronak