0
두 테이블이 있습니다. 표 1은 일일 트랜잭션 데이터가 들어있는 팩트 테이블입니다. 다른 하나는 날짜와 범위 정보가있는 차원 테이블입니다. 두 테이블에 between
절을 결합합니다. 조인과 내부 조인 사이를 다시 작성할 수 있습니까?결합 해결 사이의 범위
표 1 :
dt_key prd_id
20170401 1
20170401 2
표 2 :
frm_dt to_dt cost prd_id
20170325 20170330 44 1
20170331 20170401 12 1
20170329 20170430 22 2
20170331 20170401 24 2
쿼리
select prd_id ,cost
from table_1 a,table_2 b
where a.prd_id=b.prd_id
and a.dt_key between frm_dt and to_dt;
내가 몇 가지 해결 방법은 피하고 싶어 사이에 가입하거나 하나 dt_key 같은 조인 조건을 추가/제수 = --------
어떤 논리를 제안해도 좋을 것입니다.
왜 당신은 왜 beetwen 연산자를 좋아하지 않아 설명해 주시겠습니까? – krokodilko
왜? 데이터 모델을 기반으로이 작업을 수행해야하는 것처럼 보입니다. prd_id에 가입하여 날짜 사이에 조인을 추가로 필터링하십시오. 날짜를 문자열로 저장하는 경우 데이터 모델에 다른 문제가 있습니다. – unleashed
관련없는 : 그러나 당신은'WHO'' 절의 고대적이고 연약한 내재적 조인 대신 현대적이고 명시적인'JOIN' 문법을 사용하는 법을 배워야합니다. –