알아보자
2k
2021-10-14 09:03:22 작성 2021-10-14 13:05:05 수정됨
3
103

오라클 조건문


오라클 에서  if 같은 조건문으로 case when 많이 쓰는데 아래와 같이 특정 조건이면 특정 테이블 검색하고 다른 조건이면 다른 테이블 검색하게 이런 식으로 사용할 수 있을까요?

select * from 테이블 A, 테이블 B WHERE (

A.CODE=B.CODE 면 SELECT * FROM 테이블 A WHERE ~

A.CODE<>B.CODE 면 SELECT * FROM 테이블 B WHERE ~

)

0
  • 답변 3

  • 웃지않는광대
    191
    2021-10-14 09:10:45 작성 2021-10-14 09:12:47 수정됨

    같은 컬럼이거나 같은 데이터길이 값을 가진 테이블의 모음이라면 방법은 존재합니다.


    하지만 좋은 방식은 아니며 권장하지 않습니다.


    차라리 서비스단에서 직접 처리하시는게 훨씬 빠르고 간단합니다.


    굳이 꼭 해야만 한다면 union 으로 2개의 테이블을 하나의 테이블처럼 묶고


    각기 다른 조회조건을 가지게 한다음에 하나의 테이블만 조회하도록 하면 될거 같습니다.

  • 알아보자
    2k
    2021-10-14 09:23:01

    주소와 기관을 검색하는데 주소 관련 테이블이 따로 있고 기관 관련 테이블이 따로 있는데 이걸 동 코드 를 이용해서 매칭해서 보여주거든요. 근데 보니까 동 코드가 null 인 게 많다보니 이걸 서비스단에 처리할려면 그냥 검색 버튼을 2개 만들면 될 거 같은데 한개로 할려다보니...


  • 마린_7
    77
    2021-10-14 09:49:04

    요즘은 mybatis 에서 if 문을 제공합니다. 

  • 로그인을 하시면 답변을 등록할 수 있습니다.