오라클에서 특정 조건에 따라 다른 테이블을 조회할 수 있을까요?
select * from 기관테이블 a, 주소테이블 b
where a.dongcode=b.dongcode and 기관명 like '%서울%' and a.use='Y'
이렇게 하는데 dongcode가 a테이블이든 b테이블이든 null 일 때가 있어서
a.dongcode is not null 이면 위에 처럼 하고
a.dongcode is null 이면 기관명 like '%서울%' 까지만 하고 SELECT 에서 기관코드 ,기관명 만 하고
GROUP BY 기관코드, 기관명
이렇게 할려고 하는데 CASE WHEN 으로 어떻게 해야 할까요? 다른 방법이 있을까요?
SELECT A.INSTT_CODE, A.INSTT_NM, B.ADDR_NM FROM 테이블 A,테이블 B WHERE A.DONG_CODE = B.DONG_CODE AND INSTT_NM LIKE '%서울%' AND A.USE_SE = 'Y' ORDER BY A.INSTT_CODE
가 있고
SELECT A.INSTT_CODE, A.INSTT_NM FROM 테이블 A, 테이블 B WHERE A.DONG_CODE IS NULL AND INSTT_NM LIKE '%서울%' GROUP BY A.INSTT_CODE, A.INSTT_NM ORDER BY A.INSTT_CODE
가 있습니다 1번째는 dong_code 가 null 이 아닌거고 두번째는 null 인 겁니다 한개의 쿼리로 이걸 할 수 있는 방법은 없을까요?
두번째꺼에 B.ADDR_NM 을 뺐는데 이유는 B.ADDR_NM 을 넣으면 group by에도 추가해줘야 하는데 그럼 한 개의 instt_code에 여러개의 주소가 각각 매칭된 채로 값이 조회되기 때문에 뺐습니다